From 6d05ac32c8167ff6eb0dd1b7fade16969b78ec4b Mon Sep 17 00:00:00 2001
From: Audrey Katherine Kvam <akvam@lxplus042.cern.ch>
Date: Thu, 25 Jan 2018 15:39:53 +0100
Subject: [PATCH] FPE fix to MSVertexTrackletTool.cxx

Former-commit-id: ab3327665dd89b4923242f3f7dc981c10ae61f14
---
 .../python/CaloTopoClusterConfigFlags.py      |    6 +
 .../CaloTools/python/CaloNoiseToolConfig.py   |   99 +
 .../AthContainers/ATLAS_CHECK_THREAD_SAFETY   |    1 +
 .../IConstAuxStoreMeta.h                      |   22 +
 Control/AthViews/share/SimpleViewExample.py   |   62 +
 Control/AthViews/share/ViewNest.py            |   79 +
 Control/AthViews/share/ViewScheduling.py      |   78 +
 Control/AthViews/src/RoiCollectionToViews.cxx |  127 +
 Control/AthViews/src/RoiCollectionToViews.h   |   84 +
 Control/AthViews/src/ViewDataVerifier.cxx     |  125 +
 Control/AthViews/src/ViewDataVerifier.h       |   78 +
 Control/AthViews/src/ViewTestAlg.cxx          |   93 +
 Control/AthViews/src/ViewTestAlg.h            |   76 +
 .../src/components/AthViews_entries.cxx       |    8 +
 .../AthViews/test/test_simple_view_example.sh |    5 +
 Control/AthViews/test/test_view_nest_fail.sh  |   10 +
 Control/AthViews/test/test_view_scheduling.sh |    5 +
 .../AthenaConfiguration/python/CfgLogMsg.py   |   66 +
 .../AthenaConfiguration/python/ConfigFlags.py |  111 +
 .../python/GlobalConfigFlags.py               |   29 +
 .../python/HelloWorldConfig.py                |   75 +
 .../AthenaKernel/AthenaKernel/DataBucket.h    |  137 +
 .../AthenaKernel/AthenaKernel/DataBucket.icc  |  248 ++
 .../AthenaKernel/DataBucketBase.h             |   95 +
 .../AthenaKernel/DataBucketBase.icc           |   34 +
 .../AthenaKernel/DataBucketTraitFwd.h         |   36 +
 .../AthenaKernel/IRegisterTransient.h         |   45 +
 .../AthenaKernel/MetaContDataBucket.h         |   90 +
 .../AthenaKernel/MetaContDataBucket.icc       |   82 +
 .../AthenaKernel/AthenaKernel/RCUUpdater.h    |   97 +
 .../AthenaKernel/AthenaKernel/RCUUpdater.icc  |   78 +
 Control/AthenaKernel/AthenaKernel/SourceID.h  |   28 +
 .../AthenaKernel/StorableConversions.h        |  234 ++
 .../AthenaKernel/share/DataBucket_test.ref    |   43 +
 .../share/MetaContDataBucket_test.ref         |    2 +
 .../AthenaKernel/share/RCUUpdater_test.ref    |    1 +
 Control/AthenaKernel/test/DataBucket_test.cxx |  450 +++
 .../test/MetaContDataBucket_test.cxx          |  134 +
 Control/AthenaKernel/test/RCUUpdater_test.cxx |   94 +
 Control/CxxUtils/CxxUtils/CachedPointer.h     |  109 +
 Control/CxxUtils/CxxUtils/CachedPointer.icc   |  116 +
 Control/CxxUtils/CxxUtils/CachedValue.h       |  147 +
 Control/CxxUtils/CxxUtils/CachedValue.icc     |  264 ++
 Control/CxxUtils/CxxUtils/ConcurrentBitset.h  | 1040 ++++++
 .../CxxUtils/CxxUtils/ConcurrentBitset.icc    | 1102 ++++++
 .../CxxUtils/CxxUtils/ConcurrentRangeMap.h    |  325 ++
 .../CxxUtils/CxxUtils/ConcurrentRangeMap.icc  |  423 +++
 .../CxxUtils/CxxUtils/atomic_fetch_minmax.h   |   82 +
 Control/CxxUtils/Root/ConcurrentBitset.cxx    |  231 ++
 Control/CxxUtils/share/CachedPointer_test.ref |    2 +
 Control/CxxUtils/share/CachedValue_test.ref   |    4 +
 .../CxxUtils/share/ConcurrentBitset_test.ref  |   11 +
 .../share/ConcurrentRangeMap_test.ref         |    2 +
 .../share/atomic_fetch_minmax_test.ref        |    2 +
 Control/CxxUtils/share/auxids.uniq            |  277 ++
 Control/CxxUtils/test/CachedPointer_test.cxx  |  166 +
 Control/CxxUtils/test/CachedValue_test.cxx    |  258 ++
 .../CxxUtils/test/ConcurrentBitset_test.cxx   | 1150 ++++++
 .../CxxUtils/test/ConcurrentRangeMap_test.cxx |  619 ++++
 .../test/atomic_fetch_minmax_test.cxx         |  162 +
 Control/RngComps/share/RNGWrapper_test.ref    |    1 +
 .../CollectionBase/boost_tokenizer_headers.h  |   21 +
 .../PersistencySvc/src/IPersistencySvc.cpp    |   12 +
 .../AthenaPoolCnvSvc/AthenaPoolCnvSvc/debug.h |   46 +
 .../AthenaPoolCnvSvc/python/PoolReadConfig.py |   39 +
 .../AthenaPOOL/AthenaPoolCnvSvc/src/debug.cxx |   43 +
 .../share/AthenaPoolExample_RMeta.ref         | 1782 +++++++++
 .../share/AthenaPoolExample_ReWrite.ref       | 1992 +++++++++++
 .../share/AthenaPoolExample_ReWriteAgain.ref  | 2048 +++++++++++
 .../share/AthenaPoolExample_ReWriteNext.ref   | 1390 +++++++
 .../share/AthenaPoolExample_Read.ref          | 3065 ++++++++++++++++
 .../share/AthenaPoolExample_ReadAgain.ref     | 3185 +++++++++++++++++
 .../share/AthenaPoolExample_ReadBN.ref        | 3066 ++++++++++++++++
 .../share/AthenaPoolExample_ReadConcat.ref    | 3101 ++++++++++++++++
 .../share/AthenaPoolExample_ReadNoBN.ref      | 2568 +++++++++++++
 .../share/AthenaPoolExample_ReadTag.ref       | 2419 +++++++++++++
 .../share/AthenaPoolExample_ReadcBs.ref       |  315 ++
 .../AthenaPoolTools/src/BookkeeperDumper.cxx  |  117 +
 .../AthenaPoolTools/src/BookkeeperDumper.h    |   43 +
 Database/IOVDbSvc/python/IOVDbConfigFlags.py  |   24 +
 Database/IOVDbSvc/python/IOVDbSvcConfig.py    |  163 +
 .../AtlasGeoModel/python/GeoModelFlags.py     |    4 +
 .../xAODTruthCnv/Root/TruthMetaDataTool.cxx   |  113 +
 .../xAODTruthCnv/TruthMetaDataTool.h          |   86 +
 .../xAODTruthCnv/xAODTruthCnv/selection.xml   |    5 +
 .../xAODTruthCnv/xAODTruthCnvDict.h           |   11 +
 .../SCT_ModuleVetoCondData.h                  |   47 +
 .../SCT_ConditionsData/SCT_SensorCondData.h   |   58 +
 .../SCT_ConditionsData/SCT_SensorsCondData.h  |   30 +
 .../src/SCT_ModuleVetoCondData.cxx            |   56 +
 .../src/SCT_SensorCondData.cxx                |  133 +
 .../python/createLinkMaskingSQLiteFile.py     |   71 +
 .../src/SCT_LinkMaskingCondAlg.cxx            |  104 +
 .../src/SCT_LinkMaskingCondAlg.h              |   36 +
 .../src/SCT_ModuleVetoCondAlg.cxx             |  110 +
 .../src/SCT_ModuleVetoCondAlg.h               |   36 +
 .../src/SCT_RODVetoTestWriteAlg.cxx           |   50 +
 .../src/SCT_RODVetoTestWriteAlg.h             |   46 +
 .../src/SCT_SensorsCondAlg.cxx                |  121 +
 .../src/SCT_SensorsCondAlg.h                  |   30 +
 .../LArGeoAlgsNV/python/LArGMConfig.py        |   24 +
 .../LArGeoAlgsNV/python/LArGeoModelFlags.py   |    7 +
 .../src/MSVertexTrackletTool.cxx              |    4 +-
 .../STGC_RawDataContainerCnv_p1_test.ref      |  219 ++
 .../sTGC_Digitization/sTgcSimDigitData.h      |   44 +
 .../src/sTgcSimDigitData.cxx                  |   25 +
 .../test/test_singlemuon-mc12-pt100gev.sh     |   12 +
 .../test/test_singlemuon-mc12-pt10gev.sh      |   12 +
 .../test/test_singlemuon-mc12-pt1tev.sh       |   12 +
 .../test/test_singlemuon-mc12-pt200gev.sh     |   12 +
 .../test/test_singlemuon-mc12-pt20gev.sh      |   12 +
 .../test/test_singlemuon-mc12-pt2tev.sh       |   12 +
 .../test/test_singlemuon-mc12-pt3gev.sh       |   12 +
 .../test/test_singlemuon-mc12-pt3tev.sh       |   12 +
 .../test/test_singlemuon-mc12-pt500gev.sh     |   12 +
 .../test/test_singlemuon-mc12-pt50gev.sh      |   12 +
 .../test/test_singlemuon-mc12-pt5gev.sh       |   12 +
 .../test/test_muonrecrtt_jpsi_no_pileup.sh    |   12 +
 .../test/test_muonrecrtt_jpsi_with_pileup.sh  |   12 +
 .../test/test_muonrecrtt_ttbar_no_pileup.sh   |   12 +
 .../test/test_muonrecrtt_ttbar_with_pileup.sh |   12 +
 .../test/test_muonrecrtt_z_no_pileup.sh       |   12 +
 .../test/test_muonrecrtt_z_with_pileup.sh     |   12 +
 .../test/test_muonrecrtt_zprime_no_pileup.sh  |   12 +
 .../test_muonrecrtt_zprime_with_pileup.sh     |   12 +
 .../EgammaAnalysisHelpers/CMakeLists.txt      |   33 +
 .../EgammaAnalysisHelpersDict.h               |   10 +
 .../EgammaAnalysisHelpers/PhotonHelpers.h     |   21 +
 .../EgammaAnalysisHelpers/selection.xml       |    4 +
 .../Root/PhotonHelpers.cxx                    |   47 +
 .../AsgDeadHVCellRemovalTool.h                |   43 +
 .../IAsgDeadHVCellRemovalTool.h               |   14 +
 .../Root/AsgDeadHVCellRemovalTool.cxx         |   99 +
 .../PhotonEfficiencyCorrection_load.cxx       |    2 +
 .../components/PhotonVertexSelection_load.cxx |    5 +
 .../EgammaAnalysisInterfaces/CMakeLists.txt   |   29 +
 .../EgammaAnalysisInterfacesDict.h            |   25 +
 .../IAsgDeadHVCellRemovalTool.h               |   28 +
 .../IAsgEGammaIsEMSelector.h                  |   71 +
 .../IAsgElectronEfficiencyCorrectionTool.h    |   32 +
 .../IAsgElectronIsEMSelector.h                |   52 +
 .../IAsgElectronLikelihoodTool.h              |   83 +
 .../IAsgElectronMultiLeptonSelector.h         |   50 +
 .../IAsgForwardElectronIsEMSelector.h         |   50 +
 .../IAsgPhotonEfficiencyCorrectionTool.h      |   42 +
 .../IAsgPhotonIsEMSelector.h                  |   49 +
 .../IEGammaAmbiguityTool.h                    |   82 +
 .../IEgammaCalibrationAndSmearingTool.h       |   54 +
 .../IElectronPhotonShowerShapeFudgeTool.h     |   49 +
 .../EgammaAnalysisInterfaces/selection.xml    |   21 +
 Projects/AthDataQuality/CMakeLists.txt        |   87 +
 Projects/AthDataQuality/PostConfig.cmake.in   |   11 +
 Projects/AthDataQuality/Readme.txt            |    5 +
 Projects/AthDataQuality/build.sh              |  128 +
 Projects/AthDataQuality/build_env.sh          |  101 +
 Projects/AthDataQuality/build_externals.sh    |  117 +
 Projects/AthDataQuality/externals.txt         |    8 +
 .../skeletons/atlas_export_sanitizer.cmake.in |   72 +
 Projects/AthDataQuality/package_filters.txt   |   13 +
 Projects/AthDataQuality/version.txt           |    1 +
 Reconstruction/AODFix/python/AODFix_r210.py   |  129 +
 .../PFlow/PFlowUtils/src/CombinePFO.cxx       |   41 +
 .../PFlow/PFlowUtils/src/CombinePFO.h         |   37 +
 .../RecExCommon/share/DumpDbFolders.py        |   32 +
 Reconstruction/RecoFix/CMakeLists.txt         |   10 +
 Reconstruction/RecoFix/doc/packagedoc.h       |   27 +
 Reconstruction/RecoFix/python/RecoFix.py      |  113 +
 Reconstruction/RecoFix/python/RecoFix_base.py |   53 +
 Reconstruction/RecoFix/python/RecoFix_r210.py |   18 +
 Reconstruction/RecoFix/python/__init__.py     |    2 +
 .../test/test_FullG4_Sim_tf_configuration.py  |  226 ++
 .../ISF_FastCaloSimParametrization/FCS_Cell.h |   90 +
 .../python/fcsTrfArgs.py                      |   22 +
 .../scripts/FCS_Ntup_tf.py                    |   50 +
 .../share/ISF_ntuple_core.py                  |   98 +
 .../share/skeleton.ESDtoNTUP_FCS.py           |   79 +
 .../src/BaseSimulationSelector.cxx            |   81 +
 .../src/BaseSimulationSelector.h              |   81 +
 .../test_Sim_FullG4_ReproducibilityTest.sh    |   36 +
 .../share/RunDepProfileGenerator.py           |  178 +
 .../share/configEvtNbr_sequential.py          |    4 +
 .../share/configLumi_run304000.py             |   31 +
 .../share/configLumi_run305000.py             |   35 +
 .../g4/postInclude.TRTCuts_Ar15mm_Xe25mm.py   |   15 +
 .../preInclude.TruthOnlyConfig.py             |    6 +
 .../test/test_AtlasG4_ReproducibilityTest.sh  |   36 +
 .../TileGeoModel/python/TileGMConfig.py       |   12 +
 Tools/ART/python/ART/art_configuration.py     |  118 +
 Tools/ART/python/ART/art_rucio.py             |  217 ++
 .../TrigmuComb/TrigmuComb/muCombMT.h          |  216 ++
 .../TrigmuComb/python/TrigmuCombMTConfig.py   |   92 +
 .../TrigmuComb/src/muCombMT.cxx               |  862 +++++
 .../Filter_Offline2017.h                      |  124 +
 .../TrigCaloDataAccessSvc/CMakeLists.txt      |   73 +
 .../ITrigCaloDataAccessSvc.h                  |  207 ++
 .../share/testDataAccessService.py            |   30 +
 .../src/TestCaloDataAccess.cxx                |  242 ++
 .../src/TestCaloDataAccess.h                  |   35 +
 .../src/TrigCaloDataAccessSvc.cxx             |  357 ++
 .../src/TrigCaloDataAccessSvc.h               |  154 +
 .../TrigCaloDataAccessSvc_entries.cxx         |    5 +
 .../test/test_dataaccess.sh                   |    5 +
 .../IFTKByteStreamDecoderEncoderTool.h        |   32 +
 .../src/FTKByteStreamDecoderEncoderAux.cxx    |  299 ++
 .../src/FTKByteStreamDecoderEncoderAux.h      |   78 +
 .../share/FTKDumpCond_12Libl123_jobOptions.py |   38 +
 .../share/FTK8layer_example.py                |   40 +
 .../TrigMuonHypo/TrigMufastHypoAlg.h          |   60 +
 .../TrigMuonHypo/TrigMufastHypoTool.h         |   87 +
 .../TrigMuonHypo/TrigMuonEFMSonlyHypoAlg.h    |   60 +
 .../TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h   |   61 +
 .../TrigMuonHypo/TrigmuCombHypoAlg.h          |   58 +
 .../TrigMuonHypo/TrigmuCombHypoTool.h         |   82 +
 .../TrigMuonHypo/src/TrigMufastHypoAlg.cxx    |  167 +
 .../TrigMuonHypo/src/TrigMufastHypoTool.cxx   |  275 ++
 .../src/TrigMuonEFMSonlyHypoAlg.cxx           |  163 +
 .../src/TrigMuonEFMSonlyHypoTool.cxx          |  131 +
 .../TrigMuonHypo/src/TrigmuCombHypoAlg.cxx    |  160 +
 .../TrigMuonHypo/src/TrigmuCombHypoTool.cxx   |  243 ++
 .../TrigSteer/L1Decoder/src/IPrescalingTool.h |   30 +
 .../L1Decoder/src/PrescalingEmulationTool.cxx |   67 +
 .../L1Decoder/src/PrescalingEmulationTool.h   |   57 +
 .../share/L1TopoSimulationUtils_test.ref      |   41 +
 Trigger/TrigT1/TrigT1NSW/CMakeLists.txt       |   37 +
 .../TrigT1NSW/TrigT1NSW/NSWL1Simulation.h     |  113 +
 .../python/TrigT1NSWAlgorithmConfig.py        |   26 +
 .../TrigT1NSW/python/TrigT1NSWConfig.py       |   37 +
 .../TrigT1NSW/python/TrigT1NSWMonitoring.py   |   14 +
 Trigger/TrigT1/TrigT1NSW/share/NSWL1.py       |   86 +
 .../TrigT1NSW/share/TrigT1NSW_jobOptions.py   |    9 +
 .../TrigT1/TrigT1NSW/src/NSWL1Simulation.cxx  |  274 ++
 .../src/components/TrigT1NSW_entries.cxx      |    5 +
 .../TrigT1/TrigT1NSWSimTools/CMakeLists.txt   |   45 +
 .../TrigT1NSWSimTools/IMMFPGATool.h           |   49 +
 .../TrigT1NSWSimTools/IMMStripTdsTool.h       |   48 +
 .../TrigT1NSWSimTools/IMMTriggerTool.h        |   38 +
 .../TrigT1NSWSimTools/IPadTdsTool.h           |   50 +
 .../TrigT1NSWSimTools/IPadTriggerLogicTool.h  |   52 +
 .../TrigT1NSWSimTools/IStripClusterTool.h     |   49 +
 .../TrigT1NSWSimTools/IStripSegmentTool.h     |   47 +
 .../TrigT1NSWSimTools/IStripTdsTool.h         |   49 +
 .../TrigT1NSWSimTools/MMCandidateData.h       |   54 +
 .../TrigT1NSWSimTools/MMStripData.h           |   56 +
 .../TrigT1NSWSimTools/PadData.h               |   61 +
 .../TrigT1NSWSimTools/PadTrigger.h            |   66 +
 .../TrigT1NSWSimTools/StripClusterData.h      |   59 +
 .../TrigT1NSWSimTools/StripData.h             |   78 +
 .../TrigT1NSWSimTools/TriggerTypes.h          |   28 +
 .../scripts/drawFromPickle.py                 |  310 ++
 .../share/L1TdrStgcTriggerLogic_test.ref      |   16 +
 .../share/PadTriggerLogicOfflineTool_test.ref |    2 +
 .../TrigT1NSWSimTools/src/EtaPhiRectangle.cxx |  106 +
 .../TrigT1NSWSimTools/src/EtaPhiRectangle.h   |   89 +
 .../src/L1TdrStgcTriggerLogic.cxx             |  709 ++++
 .../src/L1TdrStgcTriggerLogic.h               |  112 +
 .../TrigT1NSWSimTools/src/MMCandidateData.cxx |   16 +
 .../src/MMCandidateOfflineData.cxx            |   30 +
 .../src/MMCandidateOfflineData.h              |   61 +
 .../src/MMFPGAOfflineTool.cxx                 |  288 ++
 .../TrigT1NSWSimTools/src/MMFPGAOfflineTool.h |  112 +
 .../TrigT1NSWSimTools/src/MMLoadVariables.cxx |  737 ++++
 .../TrigT1NSWSimTools/src/MMLoadVariables.h   |  219 ++
 .../TrigT1NSWSimTools/src/MMStripData.cxx     |   17 +
 .../src/MMStripOfflineData.cxx                |   72 +
 .../src/MMStripOfflineData.h                  |   69 +
 .../src/MMStripTdsOfflineTool.cxx             |  916 +++++
 .../src/MMStripTdsOfflineTool.h               |  347 ++
 .../TrigT1NSWSimTools/src/MMT_Finder.cxx      |  195 +
 .../TrigT1/TrigT1NSWSimTools/src/MMT_Finder.h |   46 +
 .../TrigT1NSWSimTools/src/MMT_Fitter.cxx      |  506 +++
 .../TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.h |   77 +
 .../TrigT1NSWSimTools/src/MMT_struct.cxx      | 1313 +++++++
 .../TrigT1/TrigT1NSWSimTools/src/MMT_struct.h |  556 +++
 .../TrigT1NSWSimTools/src/MMTriggerTool.cxx   |  403 +++
 .../TrigT1NSWSimTools/src/MMTriggerTool.h     |  223 ++
 .../src/MMTriggerToolTree.cxx                 |  548 +++
 .../TrigT1/TrigT1NSWSimTools/src/PadData.cxx  |   20 +
 .../TrigT1NSWSimTools/src/PadOfflineData.cxx  |   77 +
 .../TrigT1NSWSimTools/src/PadOfflineData.h    |   72 +
 .../src/PadTdsOfflineTool.cxx                 |  701 ++++
 .../TrigT1NSWSimTools/src/PadTdsOfflineTool.h |  185 +
 .../src/PadTdsValidationTree.cxx              |  235 ++
 .../src/PadTdsValidationTree.h                |   84 +
 .../TrigT1NSWSimTools/src/PadTrigger.cxx      |   41 +
 .../src/PadTriggerLogicOfflineTool.cxx        |  528 +++
 .../src/PadTriggerLogicOfflineTool.h          |  140 +
 .../src/PadTriggerValidationTree.cxx          |  220 ++
 .../src/PadTriggerValidationTree.h            |   81 +
 .../TrigT1/TrigT1NSWSimTools/src/PadUtil.cxx  |  194 +
 .../TrigT1/TrigT1NSWSimTools/src/PadUtil.h    |   42 +
 .../TrigT1NSWSimTools/src/PadWithHits.cxx     |  452 +++
 .../TrigT1NSWSimTools/src/PadWithHits.h       |  176 +
 .../src/SectorTriggerCandidate.cxx            |   72 +
 .../src/SectorTriggerCandidate.h              |   46 +
 .../src/SingleWedgePadTrigger.cxx             |  204 ++
 .../src/SingleWedgePadTrigger.h               |   97 +
 .../src/StripClusterOfflineData.cxx           |   42 +
 .../src/StripClusterOfflineData.h             |   97 +
 .../src/StripClusterTool.cxx                  |  554 +++
 .../TrigT1NSWSimTools/src/StripClusterTool.h  |  133 +
 .../TrigT1NSWSimTools/src/StripData.cxx       |   14 +
 .../src/StripOfflineData.cxx                  |  184 +
 .../TrigT1NSWSimTools/src/StripOfflineData.h  |  104 +
 .../src/StripSegmentTool.cxx                  |  312 ++
 .../TrigT1NSWSimTools/src/StripSegmentTool.h  |  106 +
 .../src/StripTdsOfflineTool.cxx               |  687 ++++
 .../src/StripTdsOfflineTool.h                 |  142 +
 .../components/TrigT1NSWSimTools_entries.cxx  |   26 +
 .../TrigT1NSWSimTools/src/sTGCenumeration.h   |   95 +
 .../TrigT1NSWSimTools/src/sTGCgeometry.h      |  947 +++++
 .../TrigT1NSWSimTools/src/tdr_compat_enum.h   |   32 +
 .../TrigT1NSWSimTools/src/tdr_typedefs.h      |   39 +
 .../TrigT1NSWSimTools/src/vector_utils.cxx    |   31 +
 .../TrigT1NSWSimTools/src/vector_utils.h      |   38 +
 .../test/L1TdrStgcTriggerLogic_test.cxx       |   73 +
 .../TrigT1NSWSimTools/test/PadDummyData.h     |   90 +
 .../test/PadTriggerLogicOfflineTool_test.cxx  |   57 +
 .../test/test_view_schedule.sh                |    5 +
 .../VP13DCocktailPlugin_VP1AutoFactory.h      |   29 +
 .../VP1TrackCaloPlugin_VP1AutoFactory.h       |   29 +
 .../VP13DCocktailPlugin_VP1AutoFactory.cxx    |   38 +
 .../src/VP1TrackCaloPlugin_VP1AutoFactory.cxx |   38 +
 322 files changed, 61976 insertions(+), 1 deletion(-)
 create mode 100644 Calorimeter/CaloRec/python/CaloTopoClusterConfigFlags.py
 create mode 100644 Calorimeter/CaloTools/python/CaloNoiseToolConfig.py
 create mode 100644 Control/AthContainers/AthContainers/ATLAS_CHECK_THREAD_SAFETY
 create mode 100644 Control/AthContainersInterfaces/AthContainersInterfaces/IConstAuxStoreMeta.h
 create mode 100644 Control/AthViews/share/SimpleViewExample.py
 create mode 100644 Control/AthViews/share/ViewNest.py
 create mode 100644 Control/AthViews/share/ViewScheduling.py
 create mode 100644 Control/AthViews/src/RoiCollectionToViews.cxx
 create mode 100644 Control/AthViews/src/RoiCollectionToViews.h
 create mode 100644 Control/AthViews/src/ViewDataVerifier.cxx
 create mode 100644 Control/AthViews/src/ViewDataVerifier.h
 create mode 100644 Control/AthViews/src/ViewTestAlg.cxx
 create mode 100644 Control/AthViews/src/ViewTestAlg.h
 create mode 100644 Control/AthViews/src/components/AthViews_entries.cxx
 create mode 100755 Control/AthViews/test/test_simple_view_example.sh
 create mode 100755 Control/AthViews/test/test_view_nest_fail.sh
 create mode 100755 Control/AthViews/test/test_view_scheduling.sh
 create mode 100644 Control/AthenaConfiguration/python/CfgLogMsg.py
 create mode 100644 Control/AthenaConfiguration/python/ConfigFlags.py
 create mode 100644 Control/AthenaConfiguration/python/GlobalConfigFlags.py
 create mode 100644 Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
 create mode 100755 Control/AthenaKernel/AthenaKernel/DataBucket.h
 create mode 100755 Control/AthenaKernel/AthenaKernel/DataBucket.icc
 create mode 100755 Control/AthenaKernel/AthenaKernel/DataBucketBase.h
 create mode 100755 Control/AthenaKernel/AthenaKernel/DataBucketBase.icc
 create mode 100644 Control/AthenaKernel/AthenaKernel/DataBucketTraitFwd.h
 create mode 100644 Control/AthenaKernel/AthenaKernel/IRegisterTransient.h
 create mode 100644 Control/AthenaKernel/AthenaKernel/MetaContDataBucket.h
 create mode 100644 Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc
 create mode 100644 Control/AthenaKernel/AthenaKernel/RCUUpdater.h
 create mode 100644 Control/AthenaKernel/AthenaKernel/RCUUpdater.icc
 create mode 100644 Control/AthenaKernel/AthenaKernel/SourceID.h
 create mode 100755 Control/AthenaKernel/AthenaKernel/StorableConversions.h
 create mode 100644 Control/AthenaKernel/share/DataBucket_test.ref
 create mode 100644 Control/AthenaKernel/share/MetaContDataBucket_test.ref
 create mode 100644 Control/AthenaKernel/share/RCUUpdater_test.ref
 create mode 100755 Control/AthenaKernel/test/DataBucket_test.cxx
 create mode 100644 Control/AthenaKernel/test/MetaContDataBucket_test.cxx
 create mode 100644 Control/AthenaKernel/test/RCUUpdater_test.cxx
 create mode 100644 Control/CxxUtils/CxxUtils/CachedPointer.h
 create mode 100644 Control/CxxUtils/CxxUtils/CachedPointer.icc
 create mode 100644 Control/CxxUtils/CxxUtils/CachedValue.h
 create mode 100644 Control/CxxUtils/CxxUtils/CachedValue.icc
 create mode 100644 Control/CxxUtils/CxxUtils/ConcurrentBitset.h
 create mode 100644 Control/CxxUtils/CxxUtils/ConcurrentBitset.icc
 create mode 100644 Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h
 create mode 100644 Control/CxxUtils/CxxUtils/ConcurrentRangeMap.icc
 create mode 100644 Control/CxxUtils/CxxUtils/atomic_fetch_minmax.h
 create mode 100644 Control/CxxUtils/Root/ConcurrentBitset.cxx
 create mode 100644 Control/CxxUtils/share/CachedPointer_test.ref
 create mode 100644 Control/CxxUtils/share/CachedValue_test.ref
 create mode 100644 Control/CxxUtils/share/ConcurrentBitset_test.ref
 create mode 100644 Control/CxxUtils/share/ConcurrentRangeMap_test.ref
 create mode 100644 Control/CxxUtils/share/atomic_fetch_minmax_test.ref
 create mode 100644 Control/CxxUtils/share/auxids.uniq
 create mode 100644 Control/CxxUtils/test/CachedPointer_test.cxx
 create mode 100644 Control/CxxUtils/test/CachedValue_test.cxx
 create mode 100644 Control/CxxUtils/test/ConcurrentBitset_test.cxx
 create mode 100644 Control/CxxUtils/test/ConcurrentRangeMap_test.cxx
 create mode 100644 Control/CxxUtils/test/atomic_fetch_minmax_test.cxx
 create mode 100644 Control/RngComps/share/RNGWrapper_test.ref
 create mode 100644 Database/APR/CollectionBase/CollectionBase/boost_tokenizer_headers.h
 create mode 100644 Database/APR/PersistencySvc/src/IPersistencySvc.cpp
 create mode 100644 Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/debug.h
 create mode 100644 Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
 create mode 100644 Database/AthenaPOOL/AthenaPoolCnvSvc/src/debug.cxx
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTag.ref
 create mode 100644 Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadcBs.ref
 create mode 100755 Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.cxx
 create mode 100755 Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.h
 create mode 100644 Database/IOVDbSvc/python/IOVDbConfigFlags.py
 create mode 100644 Database/IOVDbSvc/python/IOVDbSvcConfig.py
 create mode 100644 DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelFlags.py
 create mode 100644 Event/xAOD/xAODTruthCnv/Root/TruthMetaDataTool.cxx
 create mode 100644 Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h
 create mode 100644 Event/xAOD/xAODTruthCnv/xAODTruthCnv/selection.xml
 create mode 100644 Event/xAOD/xAODTruthCnv/xAODTruthCnv/xAODTruthCnvDict.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_ModuleVetoCondData.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorCondData.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorsCondData.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ModuleVetoCondData.cxx
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_SensorCondData.cxx
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/python/createLinkMaskingSQLiteFile.py
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.cxx
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.cxx
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.cxx
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.h
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.cxx
 create mode 100644 InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.h
 create mode 100644 LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
 create mode 100644 LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGeoModelFlags.py
 create mode 100644 MuonSpectrometer/MuonCnv/MuonEventTPCnv/share/STGC_RawDataContainerCnv_p1_test.ref
 create mode 100644 MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcSimDigitData.h
 create mode 100644 MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcSimDigitData.cxx
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt100gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt10gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt1tev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt200gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt20gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt2tev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3tev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt500gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt50gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt5gev.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_no_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_with_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_no_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_with_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_no_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_with_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_no_pileup.sh
 create mode 100755 MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_with_pileup.sh
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/CMakeLists.txt
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/EgammaAnalysisHelpersDict.h
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/PhotonHelpers.h
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/selection.xml
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/Root/PhotonHelpers.cxx
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/AsgDeadHVCellRemovalTool.h
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/IAsgDeadHVCellRemovalTool.h
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/Root/AsgDeadHVCellRemovalTool.cxx
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/PhotonEfficiencyCorrection/src/components/PhotonEfficiencyCorrection_load.cxx
 create mode 100644 PhysicsAnalysis/ElectronPhotonID/PhotonVertexSelection/src/components/PhotonVertexSelection_load.cxx
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/CMakeLists.txt
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfacesDict.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronEfficiencyCorrectionTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronMultiLeptonSelector.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgForwardElectronIsEMSelector.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonEfficiencyCorrectionTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonIsEMSelector.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEGammaAmbiguityTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h
 create mode 100644 PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/selection.xml
 create mode 100644 Projects/AthDataQuality/CMakeLists.txt
 create mode 100644 Projects/AthDataQuality/PostConfig.cmake.in
 create mode 100644 Projects/AthDataQuality/Readme.txt
 create mode 100755 Projects/AthDataQuality/build.sh
 create mode 100644 Projects/AthDataQuality/build_env.sh
 create mode 100755 Projects/AthDataQuality/build_externals.sh
 create mode 100644 Projects/AthDataQuality/externals.txt
 create mode 100644 Projects/AthDataQuality/modules/skeletons/atlas_export_sanitizer.cmake.in
 create mode 100644 Projects/AthDataQuality/package_filters.txt
 create mode 100644 Projects/AthDataQuality/version.txt
 create mode 100644 Reconstruction/AODFix/python/AODFix_r210.py
 create mode 100644 Reconstruction/PFlow/PFlowUtils/src/CombinePFO.cxx
 create mode 100644 Reconstruction/PFlow/PFlowUtils/src/CombinePFO.h
 create mode 100644 Reconstruction/RecExample/RecExCommon/share/DumpDbFolders.py
 create mode 100644 Reconstruction/RecoFix/CMakeLists.txt
 create mode 100644 Reconstruction/RecoFix/doc/packagedoc.h
 create mode 100644 Reconstruction/RecoFix/python/RecoFix.py
 create mode 100644 Reconstruction/RecoFix/python/RecoFix_base.py
 create mode 100644 Reconstruction/RecoFix/python/RecoFix_r210.py
 create mode 100644 Reconstruction/RecoFix/python/__init__.py
 create mode 100755 Simulation/ISF/ISF_Config/test/test_FullG4_Sim_tf_configuration.py
 create mode 100644 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCS_Cell.h
 create mode 100644 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/fcsTrfArgs.py
 create mode 100755 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/scripts/FCS_Ntup_tf.py
 create mode 100644 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple_core.py
 create mode 100644 Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/skeleton.ESDtoNTUP_FCS.py
 create mode 100644 Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.cxx
 create mode 100644 Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.h
 create mode 100755 Simulation/ISF/ISF_Validation/test/test_Sim_FullG4_ReproducibilityTest.sh
 create mode 100644 Simulation/RunDependentSim/RunDependentSimComps/share/RunDepProfileGenerator.py
 create mode 100644 Simulation/RunDependentSim/RunDependentSimData/share/configEvtNbr_sequential.py
 create mode 100644 Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run304000.py
 create mode 100644 Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run305000.py
 create mode 100644 Simulation/SimulationJobOptions/share/g4/postInclude.TRTCuts_Ar15mm_Xe25mm.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.TruthOnlyConfig.py
 create mode 100755 Simulation/Tests/SimCoreTests/test/test_AtlasG4_ReproducibilityTest.sh
 create mode 100644 TileCalorimeter/TileGeoModel/python/TileGMConfig.py
 create mode 100644 Tools/ART/python/ART/art_configuration.py
 create mode 100755 Tools/ART/python/ART/art_rucio.py
 create mode 100755 Trigger/TrigAlgorithms/TrigmuComb/TrigmuComb/muCombMT.h
 create mode 100755 Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombMTConfig.py
 create mode 100755 Trigger/TrigAlgorithms/TrigmuComb/src/muCombMT.cxx
 create mode 100644 Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filter_Offline2017.h
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/CMakeLists.txt
 create mode 100755 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/TrigCaloDataAccessSvc/ITrigCaloDataAccessSvc.h
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/share/testDataAccessService.py
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.cxx
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.h
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.cxx
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.h
 create mode 100644 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/components/TrigCaloDataAccessSvc_entries.cxx
 create mode 100755 Trigger/TrigDataAccess/TrigCaloDataAccessSvc/test/test_dataaccess.sh
 create mode 100644 Trigger/TrigFTK/TrigFTKByteStream/TrigFTKByteStream/IFTKByteStreamDecoderEncoderTool.h
 create mode 100644 Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.cxx
 create mode 100644 Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.h
 create mode 100644 Trigger/TrigFTK/TrigFTKSim/share/FTKDumpCond_12Libl123_jobOptions.py
 create mode 100644 Trigger/TrigFTK/TrigFTK_RawDataAlgs/share/FTK8layer_example.py
 create mode 100755 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoAlg.h
 create mode 100755 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoTool.h
 create mode 100755 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoAlg.h
 create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h
 create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoAlg.h
 create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoTool.h
 create mode 100755 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoAlg.cxx
 create mode 100755 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoTool.cxx
 create mode 100755 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoAlg.cxx
 create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoTool.cxx
 create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoAlg.cxx
 create mode 100644 Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoTool.cxx
 create mode 100644 Trigger/TrigSteer/L1Decoder/src/IPrescalingTool.h
 create mode 100644 Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.cxx
 create mode 100644 Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.h
 create mode 100644 Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref
 create mode 100644 Trigger/TrigT1/TrigT1NSW/CMakeLists.txt
 create mode 100644 Trigger/TrigT1/TrigT1NSW/TrigT1NSW/NSWL1Simulation.h
 create mode 100644 Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWAlgorithmConfig.py
 create mode 100755 Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWConfig.py
 create mode 100644 Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWMonitoring.py
 create mode 100755 Trigger/TrigT1/TrigT1NSW/share/NSWL1.py
 create mode 100755 Trigger/TrigT1/TrigT1NSW/share/TrigT1NSW_jobOptions.py
 create mode 100644 Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.cxx
 create mode 100755 Trigger/TrigT1/TrigT1NSW/src/components/TrigT1NSW_entries.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMFPGATool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMStripTdsTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMTriggerTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTdsTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTriggerLogicTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripClusterTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripSegmentTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripTdsTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMCandidateData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMStripData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadTrigger.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripClusterData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/TriggerTypes.h
 create mode 100755 Trigger/TrigT1/TrigT1NSWSimTools/scripts/drawFromPickle.py
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/share/L1TdrStgcTriggerLogic_test.ref
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/share/PadTriggerLogicOfflineTool_test.ref
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTrigger.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/components/TrigT1NSWSimTools_entries.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCenumeration.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCgeometry.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_compat_enum.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_typedefs.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/test/L1TdrStgcTriggerLogic_test.cxx
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/test/PadDummyData.h
 create mode 100644 Trigger/TrigT1/TrigT1NSWSimTools/test/PadTriggerLogicOfflineTool_test.cxx
 create mode 100755 Trigger/TrigValidation/TrigUpgradeTest/test/test_view_schedule.sh
 create mode 100644 graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP13DCocktailPlugin_VP1AutoFactory.h
 create mode 100644 graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP1TrackCaloPlugin_VP1AutoFactory.h
 create mode 100644 graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP13DCocktailPlugin_VP1AutoFactory.cxx
 create mode 100644 graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP1TrackCaloPlugin_VP1AutoFactory.cxx

diff --git a/Calorimeter/CaloRec/python/CaloTopoClusterConfigFlags.py b/Calorimeter/CaloRec/python/CaloTopoClusterConfigFlags.py
new file mode 100644
index 00000000000..44f23e92422
--- /dev/null
+++ b/Calorimeter/CaloRec/python/CaloTopoClusterConfigFlags.py
@@ -0,0 +1,6 @@
+from AthenaConfiguration.ConfigFlags import makeFlag
+
+doTwoGaussianNoise=makeFlag("doTwoGaussianNoise",True)
+
+doTreatEnergyCutAsAbsolute=makeFlag("doTreatEnergyCutAsAbsolute",False)
+
diff --git a/Calorimeter/CaloTools/python/CaloNoiseToolConfig.py b/Calorimeter/CaloTools/python/CaloNoiseToolConfig.py
new file mode 100644
index 00000000000..9996b340a9c
--- /dev/null
+++ b/Calorimeter/CaloTools/python/CaloNoiseToolConfig.py
@@ -0,0 +1,99 @@
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from IOVDbSvc.IOVDbSvcConfig import addFolders
+from CaloTools.CaloToolsConf import CaloNoiseToolDB
+from AthenaConfiguration.CfgLogMsg import cfgLogMsg
+
+def CaloNoiseToolCfg(inputFlags):
+
+    result=ComponentAccumulator()
+
+    isMC=inputFlags.get("AthenaConfiguration.GlobalConfigFlags.isMC")
+    fixedLumi=inputFlags.get("CaloRec.CaloRecConfigFlags.fixedLumiForNoise")
+    useCaloLumi=inputFlags.get("CaloRec.CaloRecConfigFlags.useCaloNoiseLumi")
+    
+    caloNoiseToolDB=CaloNoiseToolDB("CaloNoiseTool")
+
+
+    if inputFlags.get("AthenaConfiguration.GlobalConfigFlags.isOnline"):
+        #online mode:
+        folder  = "/CALO/Noise/CellNoise"
+        result.executeModule(addFolders,inputFlags,folder,'CALO_ONL')
+        caloNoiseToolDB.FolderNames=[folder,]
+        if fixedLumi >= 0 :
+            caloNoiseToolDB.Luminosity = fixedLumi
+            cfgLogMsg.info("online mode: use fixed luminosity for scaling pileup noise: %f"%fixedLumi)
+        else:
+            if useCaloLumi:
+                lumiFolder='/CALO/Noise/PileUpNoiseLumi'
+                result.executeModule(addFolders,inputFlags,lumiFolder,'CALO')
+                caloNoiseToolDB.LumiFolderName = lumiFolder
+                caloNoiseToolDB.Luminosity = -1.
+                cfgLogMsg.info("online mode: use luminosity from /CALO/Noise/PileUpNoiseLumi to scale pileup noise")
+            else:
+                caloNoiseToolDB.Luminosity = 0.
+                mlog.info("online mode: ignore pileup noise")
+                pass
+        result.addPublicTool(caloNoiseToolDB)
+        return result
+
+    #The not-online case:
+    if isMC:
+        if fixedLumi >= 0 :
+            caloNoiseToolDB.Luminosity=fixedLumi
+            cfgLogMsg.info("Luminosity (in 10**33) units used for pileup noise from CaloNoiseFlags : %f" % fixedLumi)
+        else:
+            if useCaloLumi:
+                lumiFolder='/CALO/Ofl/Noise/PileUpNoiseLumi'
+                result.executeModule(addFolders,inputFlags,lumiFolder,'CALO_OFL')
+                cfgLogMsg.info("offline mode: use luminosity from /CALO/Ofl/Noise/PileuUpNoiseLumi to scale pileup noise")
+                caloNoiseToolDB.LumiFolderName = lumiFolder
+                caloNoiseToolDB.Luminosity=-1.
+            else:
+                estimatedLumi=inputFlags.get("AthenaConfiguration.GlobalFlags.estimatedLuminosity")
+                caloNoiseToolDB.Luminosity=estimatedLumi/1e+33
+                cfgLogMsg.info("  Luminosity (in 10**33) units used for pileup noise from global flags: %f"%caloNoiseToolDB.Luminosity)
+
+
+        folders  = (("CALO_OFL","/CALO/Ofl/Noise/CellNoise"),
+                    ("LAR_OFL","/LAR/NoiseOfl/CellNoise"),
+                    ("TILE_OFL","/TILE/OFL02/NOISE/CELL")
+                    ) 
+        pass
+    else: # Real data case:
+        # for luminosity
+        if fixedLumi >= 0 :
+            caloNoiseToolDB.Luminosity = fixedLumi
+            mlog.info("offline mode: use fixed luminosity for scaling pileup noise: %f"%fixedLumi)
+        else :
+            caloNoiseToolDB.Luminosity = -1
+            if useCaloLumi:
+                lumiFolder='/CALO/Ofl/Noise/PileUpNoiseLumi'
+                result.executeModule(addFolders,inputFlags,lumiFolder,'CALO_OFL')
+                cfgLogMsg.info("offline mode: use luminosity from /CALO/Ofl/Noise/PileUpNoiseLumi to scale pileup noise")
+            else:
+                lumiFolder = '/TRIGGER/LUMI/LBLESTONL'
+                result.executeModule(addFolders,inputFlags,lumiFolder,'TRIGGER_ONL');
+                cfgLogMsg.info("offline mode: use luminosity = f(Lumiblock) to scale pileup noise")
+                caloNoiseToolDB.LumiFolderName = lumiFolder
+
+
+        folders=[("LAR_OFL","/LAR/NoiseOfl/CellNoise"),
+                 ("TILE_OFL","/TILE/OFL02/NOISE/CELL")
+                 ]
+        
+        if inputFlags.get("IOVDbSvc.IOVDbConfigFlags.DatabaseInstance")=="COMP200":
+            folders.append(("CALO_OFL","/CALO/Ofl/Noise/CellNoise")),
+        
+        #Fixme: Add rescaling of noise based on HV! 
+
+
+        pass #end of real data case
+    
+    for (db,fldr) in folders:
+        result.executeModule(addFolders,inputFlags,fldr,db)
+    
+    caloNoiseToolDB.FolderNames=[f[1] for f in folders]    
+
+    result.addPublicTool(caloNoiseToolDB)
+    
+    return result
diff --git a/Control/AthContainers/AthContainers/ATLAS_CHECK_THREAD_SAFETY b/Control/AthContainers/AthContainers/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 00000000000..0076643cfbe
--- /dev/null
+++ b/Control/AthContainers/AthContainers/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+AthContainers
diff --git a/Control/AthContainersInterfaces/AthContainersInterfaces/IConstAuxStoreMeta.h b/Control/AthContainersInterfaces/AthContainersInterfaces/IConstAuxStoreMeta.h
new file mode 100644
index 00000000000..92812329523
--- /dev/null
+++ b/Control/AthContainersInterfaces/AthContainersInterfaces/IConstAuxStoreMeta.h
@@ -0,0 +1,22 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthContainersInterfaces/IConstAuxStoreMeta.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jan, 2018
+ * @brief Assign a CLID for MetaCont<IConstAuxStore>.
+ */
+
+
+#ifndef ATHCONTAINERSINTERFACES_ICONSTAUXSTOREMETA_H
+#define ATHCONTAINERSINTERFACES_ICONSTAUXSTOREMETA_H
+
+#include "AthContainersInterfaces/IConstAuxStore.h"
+#include "AthenaKernel/MetaCont.h"
+
+METACONT_DEF( SG::IConstAuxStore, 140922162 );
+
+#endif // not ATHCONTAINERSINTERFACES_ICONSTAUXSTOREMETA_H
diff --git a/Control/AthViews/share/SimpleViewExample.py b/Control/AthViews/share/SimpleViewExample.py
new file mode 100644
index 00000000000..99368074f17
--- /dev/null
+++ b/Control/AthViews/share/SimpleViewExample.py
@@ -0,0 +1,62 @@
+#
+#  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+#
+
+###############################################################
+#
+# Job options file
+#
+# Based on AthExStoreGateExamples
+#
+#==============================================================
+
+#--------------------------------------------------------------
+# ATLAS default Application Configuration options
+#--------------------------------------------------------------
+
+# Configure the scheduler
+from AthenaCommon.AlgScheduler import AlgScheduler
+AlgScheduler.ShowControlFlow( True )
+AlgScheduler.ShowDataDependencies( True )
+
+# Control flow
+from AthenaCommon.AlgSequence import AthSequencer
+allViewAlgorithms = AthSequencer( "allViewAlgorithms" )
+allViewAlgorithms.ModeOR = False
+allViewAlgorithms.Sequential = False
+allViewAlgorithms.StopOverride = False
+makeViewSequence = AthSequencer( "makeViewSequence" )
+makeViewSequence.ModeOR = False
+makeViewSequence.Sequential = True
+makeViewSequence.StopOverride = False
+
+# Event-level algorithm sequence
+from AthenaCommon.AlgSequence import AlgSequence
+job = AlgSequence()
+
+# Make views
+makeViewSequence += CfgMgr.AthViews__ViewSubgraphAlg("make_alg")
+makeViewSequence.make_alg.ViewBaseName = "view"
+makeViewSequence.make_alg.ViewNumber = 10
+makeViewSequence.make_alg.ViewNodeName = "allViewAlgorithms"
+makeViewSequence.make_alg.Scheduler = AlgScheduler.getScheduler()
+
+# View algorithm
+ViewTest = CfgMgr.AthViews__ViewTestAlg("view_test")
+allViewAlgorithms += ViewTest
+
+# Add the view algorithms to the job
+makeViewSequence += allViewAlgorithms
+
+job += makeViewSequence
+
+#--------------------------------------------------------------
+# Event related parameters
+#--------------------------------------------------------------
+theApp.EvtMax = 10
+
+#==============================================================
+#
+# End of job options file
+#
+###############################################################
diff --git a/Control/AthViews/share/ViewNest.py b/Control/AthViews/share/ViewNest.py
new file mode 100644
index 00000000000..de997372eb0
--- /dev/null
+++ b/Control/AthViews/share/ViewNest.py
@@ -0,0 +1,79 @@
+#
+#  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+#
+
+###############################################################
+#
+# Job options file
+#
+# Based on AthExStoreGateExamples
+#
+#==============================================================
+
+#--------------------------------------------------------------
+# ATLAS default Application Configuration options
+#--------------------------------------------------------------
+
+# Configure the scheduler
+from AthenaCommon.AlgScheduler import AlgScheduler
+AlgScheduler.ShowControlFlow( True )
+AlgScheduler.ShowDataDependencies( True )
+
+# Control flow
+from AthenaCommon.AlgSequence import AthSequencer
+l2ViewAlgorithms = AthSequencer( "l2ViewAlgorithms" )
+l2ViewAlgorithms.ModeOR = False
+l2ViewAlgorithms.Sequential = False
+l2ViewAlgorithms.StopOverride = False
+l1ViewAlgorithms = AthSequencer( "l1ViewAlgorithms" )
+l1ViewAlgorithms.ModeOR = False
+l1ViewAlgorithms.Sequential = True
+l1ViewAlgorithms.StopOverride = False
+makeViewSequence = AthSequencer( "makeViewSequence" )
+makeViewSequence.ModeOR = False
+makeViewSequence.Sequential = True
+makeViewSequence.StopOverride = False
+
+# Event-level algorithm sequence
+from AthenaCommon.AlgSequence import AlgSequence
+job = AlgSequence()
+
+# Make views
+makeViewSequence += CfgMgr.AthViews__ViewSubgraphAlg("make_alg")
+makeViewSequence.make_alg.ViewBaseName = "view"
+makeViewSequence.make_alg.ViewNumber = 10
+makeViewSequence.make_alg.ViewNodeName = l1ViewAlgorithms.name()
+makeViewSequence.make_alg.Scheduler = AlgScheduler.getScheduler()
+
+# View algorithms
+ViewTest = CfgMgr.AthViews__ViewTestAlg("view_test")
+l1ViewAlgorithms += ViewTest
+#
+l1ViewAlgorithms += CfgMgr.AthViews__ViewSubgraphAlg("nest_alg")
+l1ViewAlgorithms.nest_alg.ViewBaseName = "viewView"
+l1ViewAlgorithms.nest_alg.ViewNumber = 10
+l1ViewAlgorithms.nest_alg.ViewNodeName = l2ViewAlgorithms.name()
+l1ViewAlgorithms.nest_alg.Scheduler = AlgScheduler.getScheduler()
+#
+ViewViewTest = CfgMgr.AthViews__ViewTestAlg("viewView_test")
+l2ViewAlgorithms += ViewViewTest
+
+# Add the view algorithms to the job
+l1ViewAlgorithms += l2ViewAlgorithms
+makeViewSequence += l1ViewAlgorithms
+
+# Merge views
+makeViewSequence += CfgMgr.AthViews__ViewMergeAlg("merge_alg")
+
+job += makeViewSequence
+
+#--------------------------------------------------------------
+# Event related parameters
+#--------------------------------------------------------------
+theApp.EvtMax = 10
+
+#==============================================================
+#
+# End of job options file
+#
+###############################################################
diff --git a/Control/AthViews/share/ViewScheduling.py b/Control/AthViews/share/ViewScheduling.py
new file mode 100644
index 00000000000..fc639b39934
--- /dev/null
+++ b/Control/AthViews/share/ViewScheduling.py
@@ -0,0 +1,78 @@
+#
+#  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+#
+
+###############################################################
+#
+# Job options file
+#
+# Based on AthExStoreGateExamples
+#
+#==============================================================
+
+#--------------------------------------------------------------
+# ATLAS default Application Configuration options
+#--------------------------------------------------------------
+
+# Configure the scheduler
+from AthenaCommon.AlgScheduler import AlgScheduler
+AlgScheduler.ShowControlFlow( True )
+AlgScheduler.ShowDataDependencies( True )
+
+# Control flow
+from AthenaCommon.AlgSequence import AthSequencer
+allViewAlgorithms = AthSequencer( "allViewAlgorithms" )
+allViewAlgorithms.ModeOR = False
+allViewAlgorithms.Sequential = False
+allViewAlgorithms.StopOverride = False
+makeViewSequence = AthSequencer( "makeViewSequence" )
+makeViewSequence.ModeOR = False
+makeViewSequence.Sequential = True
+makeViewSequence.StopOverride = False
+
+# Event-level algorithm sequence
+from AthenaCommon.AlgSequence import AlgSequence
+job = AlgSequence()
+
+# Make views
+makeViewSequence += CfgMgr.AthViews__ViewSubgraphAlg("make_alg")
+makeViewSequence.make_alg.ViewBaseName = "view"
+makeViewSequence.make_alg.ViewNumber = 10
+makeViewSequence.make_alg.ViewNodeName = "allViewAlgorithms"
+makeViewSequence.make_alg.Scheduler = AlgScheduler.getScheduler()
+
+# View algorithms
+ViewTest = CfgMgr.AthViews__ViewTestAlg("view_test")
+allViewAlgorithms += ViewTest
+#
+ViewVerify = CfgMgr.AthViews__ViewDataVerifier("view_verify")
+ViewVerify.DataObjects = [ ('int','view_start') ]
+allViewAlgorithms += ViewVerify
+#
+dflow_alg1 = CfgMgr.AthViews__DFlowAlg1("dflow_alg1")
+allViewAlgorithms += dflow_alg1
+#
+dflow_alg2 = CfgMgr.AthViews__DFlowAlg2("dflow_alg2")
+allViewAlgorithms += dflow_alg2
+#
+dflow_alg3 = CfgMgr.AthViews__DFlowAlg3("dflow_alg3")
+allViewAlgorithms += dflow_alg3
+
+# Add the view algorithms to the job
+makeViewSequence += allViewAlgorithms
+
+# Merge views
+makeViewSequence += CfgMgr.AthViews__ViewMergeAlg("merge_alg")
+
+job += makeViewSequence
+
+#--------------------------------------------------------------
+# Event related parameters
+#--------------------------------------------------------------
+theApp.EvtMax = 10
+
+#==============================================================
+#
+# End of job options file
+#
+###############################################################
diff --git a/Control/AthViews/src/RoiCollectionToViews.cxx b/Control/AthViews/src/RoiCollectionToViews.cxx
new file mode 100644
index 00000000000..eb56a40ac5c
--- /dev/null
+++ b/Control/AthViews/src/RoiCollectionToViews.cxx
@@ -0,0 +1,127 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "RoiCollectionToViews.h"
+#include "AthViews/ViewHelper.h"
+
+// STL includes
+
+// FrameWork includes
+#include "GaudiKernel/Property.h"
+#include "CxxUtils/make_unique.h"
+#include "AthContainers/ConstDataVector.h"
+
+namespace AthViews {
+
+///////////////////////////////////////////////////////////////////
+// Public methods: 
+///////////////////////////////////////////////////////////////////
+
+// Constructors
+////////////////
+RoiCollectionToViews::RoiCollectionToViews( const std::string& name,
+                      ISvcLocator* pSvcLocator ) : 
+  ::AthAlgorithm( name, pSvcLocator )
+{
+}
+
+// Destructor
+///////////////
+RoiCollectionToViews::~RoiCollectionToViews()
+{
+}
+
+// Athena Algorithm's Hooks
+////////////////////////////
+StatusCode RoiCollectionToViews::initialize()
+{
+  ATH_MSG_INFO ("Initializing " << name() << "...");
+
+  CHECK( m_trigRoIs.initialize() );
+  CHECK( m_viewRoIs.initialize() );
+  CHECK( m_w_views.initialize() );
+  CHECK( m_scheduler.retrieve() );
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode RoiCollectionToViews::finalize()
+{
+  ATH_MSG_INFO ("Finalizing " << name() << "...");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode RoiCollectionToViews::execute()
+{  
+  ATH_MSG_DEBUG ("Executing " << name() << "...");
+
+#ifdef GAUDI_SYSEXECUTE_WITHCONTEXT 
+  const EventContext& ctx = getContext();
+#else
+  const EventContext& ctx = *getContext();
+#endif
+
+  //Load the collection of RoI descriptors
+  SG::ReadHandle< TrigRoiDescriptorCollection > inputRoIs( m_trigRoIs, ctx );
+  ATH_CHECK( inputRoIs.isValid() );
+ 
+  //Skip if there's nothing to do
+  //if ( inputRoIs->empty() ) return StatusCode::SUCCESS;
+  //NB: don't do this any more. Calling the helper with an empty collection is now correct
+  //as this will deactivate the node in the scheduler
+
+  std::vector< ConstDataVector<TrigRoiDescriptorCollection> > outputRoICollectionVector;
+  for ( auto roi: *inputRoIs )
+  {
+    ATH_MSG_DEBUG( "RoI Eta: " << roi->eta() << " Phi: " << roi->phi() << " RoIWord: " << roi->roiWord() );
+    
+    ConstDataVector<TrigRoiDescriptorCollection> oneRoIColl (SG::VIEW_ELEMENTS);
+    oneRoIColl.push_back( roi );
+    outputRoICollectionVector.push_back( std::move(oneRoIColl) );
+  }
+
+  //Create the views and populate them
+  std::vector< SG::View* > viewVector;
+  CHECK( ViewHelper::MakeAndPopulate( m_viewBaseName, //Base name for all views to use
+          viewVector,                                 //Vector to store views
+          m_viewRoIs,                                 //A writehandlekey to use to access the views
+          ctx,                                        //The context of this algorithm
+          outputRoICollectionVector,                  //Data to initialise each view - one view will be made per entry
+          m_viewFallThrough ) );                      //Allow fall through from view to storegate
+
+  //Run the algorithms in views
+  CHECK( ViewHelper::ScheduleViews( viewVector, //View vector
+          m_viewNodeName,                       //CF node to attach views to
+          ctx,                                  //Context to attach the views to
+          m_scheduler.get() ) );                //Scheduler
+
+  //Store the collection of views
+  SG::WriteHandle< std::vector< SG::View* > > outputViewHandle( m_w_views, ctx );
+  outputViewHandle.record( CxxUtils::make_unique< std::vector< SG::View* > >( viewVector ) );
+
+  return StatusCode::SUCCESS;
+}
+
+///////////////////////////////////////////////////////////////////
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// Non-const methods: 
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// Protected methods: 
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// Non-const methods: 
+///////////////////////////////////////////////////////////////////
+
+} //> end namespace AthViews
diff --git a/Control/AthViews/src/RoiCollectionToViews.h b/Control/AthViews/src/RoiCollectionToViews.h
new file mode 100644
index 00000000000..eaa452fcca7
--- /dev/null
+++ b/Control/AthViews/src/RoiCollectionToViews.h
@@ -0,0 +1,84 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ATHVIEWS_ATHVIEWS_ROICOLLECTIONTOVIEWS_H
+#define ATHVIEWS_ATHVIEWS_ROICOLLECTIONTOVIEWS_H
+
+// STL includes
+#include <string>
+#include <vector>
+
+// FrameWork includes
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthViews/View.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
+#include "AthContainers/ConstDataVector.h"
+#include "GaudiKernel/IScheduler.h"
+
+namespace AthViews {
+
+class RoiCollectionToViews
+  : public ::AthAlgorithm
+{ 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Public methods: 
+  /////////////////////////////////////////////////////////////////// 
+ public: 
+
+  // Copy constructor: 
+
+  /// Constructor with parameters: 
+  RoiCollectionToViews( const std::string& name, ISvcLocator* pSvcLocator );
+
+  /// Destructor: 
+  virtual ~RoiCollectionToViews(); 
+
+  // Athena algorithm's Hooks
+  virtual StatusCode  initialize();
+  virtual StatusCode  execute();
+  virtual StatusCode  finalize();
+
+  /////////////////////////////////////////////////////////////////// 
+  // Const methods: 
+  ///////////////////////////////////////////////////////////////////
+
+  /////////////////////////////////////////////////////////////////// 
+  // Non-const methods: 
+  /////////////////////////////////////////////////////////////////// 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Private data: 
+  /////////////////////////////////////////////////////////////////// 
+ private: 
+
+  /// Default constructor: 
+  RoiCollectionToViews();
+
+  /// Containers
+  
+  // vars
+  ServiceHandle< IScheduler > m_scheduler{ this, "Scheduler", "AvalancheSchedulerSvc", "The Athena scheduler" };
+  SG::ReadHandleKey< TrigRoiDescriptorCollection > m_trigRoIs { this, "InputRoICollection", "input_rois", "Collection of RoIs to split into views" };
+  SG::WriteHandleKey< std::vector< SG::View* > > m_w_views { this, "AllViews", "all_views", "Output view collection" };
+  SG::WriteHandleKey< ConstDataVector<TrigRoiDescriptorCollection> > m_viewRoIs { this, "OutputRoICollection", "output_rois", "RoI collection to use inside views" };
+  Gaudi::Property< std::string > m_viewBaseName { this, "ViewBaseName", "", "Name to use for all views - number will be appended" };
+  Gaudi::Property< std::string > m_viewNodeName { this, "ViewNodeName", "", "Name of the CF node to attach views to" };
+  Gaudi::Property< bool > m_viewFallThrough { this, "ViewFallThrough", true, "Set whether views may access StoreGate directly to retrieve data" };
+
+}; 
+
+/////////////////////////////////////////////////////////////////// 
+// I/O operators
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Inline methods: 
+/////////////////////////////////////////////////////////////////// 
+
+} //> end namespace AthViews
+
+#endif //> !ATHVIEWS_ATHVIEWS_ROICOLLECTIONTOVIEWS_H
diff --git a/Control/AthViews/src/ViewDataVerifier.cxx b/Control/AthViews/src/ViewDataVerifier.cxx
new file mode 100644
index 00000000000..1e7e2237b39
--- /dev/null
+++ b/Control/AthViews/src/ViewDataVerifier.cxx
@@ -0,0 +1,125 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ViewDataVerifier.cxx 
+// Implementation file for class ViewDataVerifier
+// Author: B. Wynne <bwynne@cern.ch>
+/////////////////////////////////////////////////////////////////// 
+
+#include "ViewDataVerifier.h"
+
+// STL includes
+
+// FrameWork includes
+#include "AthenaKernel/ExtendedEventContext.h"
+
+namespace AthViews {
+
+/////////////////////////////////////////////////////////////////// 
+// Public methods: 
+/////////////////////////////////////////////////////////////////// 
+
+// Constructors
+////////////////
+ViewDataVerifier::ViewDataVerifier( const std::string& name, 
+                      ISvcLocator* pSvcLocator ) : 
+  ::AthAlgorithm( name, pSvcLocator )
+{
+}
+
+// Destructor
+///////////////
+ViewDataVerifier::~ViewDataVerifier()
+{}
+
+// Athena Algorithm's Hooks
+////////////////////////////
+StatusCode ViewDataVerifier::initialize()
+{
+  ATH_MSG_INFO ("Initializing " << name() << "...");
+
+  StatusCode sc = StatusCode::SUCCESS;
+
+  // Debug message indicating what containers will be loaded
+  // Code copied from SGInputLoader
+  if ( m_load.value().size() > 0 ) {
+    std::ostringstream str;
+    str << "Will explicitly preload the following DataObjects:";
+    for ( auto &obj : m_load.value() ) {
+      str << "\n    + " << obj;
+      if ( obj.key() == "" ) {
+        sc = StatusCode::FAILURE;
+        str << "   ERROR: empty key is not allowed!";
+      }
+    }
+    ATH_MSG_INFO( str.str() );
+  }
+
+  // Inform the scheduler that these containers will be available
+  if ( !setProperty( "ExtraOutputs", m_load.toString() ).isSuccess() ) {
+    ATH_MSG_WARNING( "Failed setting property ExtraOutputs" );
+  }
+
+  return sc;
+}
+
+StatusCode ViewDataVerifier::finalize()
+{
+  ATH_MSG_INFO ("Finalizing " << name() << "...");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode ViewDataVerifier::execute()
+{  
+  ATH_MSG_DEBUG ("Executing " << name() << "...");
+
+  // Retrieve the current view from the EventContext
+  auto viewProxy = getContext().getExtension<Atlas::ExtendedEventContext>()->proxy();
+
+  ATH_MSG_INFO( name() << " running with store " << viewProxy->name() );
+
+  // Test each container
+  for ( auto &obj : m_load.value() ) {
+
+    // Create a VarHandleKey (copied from SGInputLoader)
+    SG::VarHandleKey vhk( obj.clid(), obj.key(), Gaudi::DataHandle::Writer );
+
+    // Create a test proxy 
+    SG::DataProxy* dp = viewProxy->proxy( obj.clid(), vhk.key() );
+
+    // Test if the proxy is valid
+    if ( dp ) { 
+      ATH_MSG_INFO( "Found " << obj.key() << " in " << viewProxy->name() );
+    } else {
+      ATH_MSG_ERROR( "Did not find " << obj.key() << " in " << viewProxy->name() );
+    }
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+/////////////////////////////////////////////////////////////////// 
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Non-const methods: 
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Protected methods: 
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Non-const methods: 
+/////////////////////////////////////////////////////////////////// 
+
+} //> end namespace AthViews
diff --git a/Control/AthViews/src/ViewDataVerifier.h b/Control/AthViews/src/ViewDataVerifier.h
new file mode 100644
index 00000000000..5d98a722420
--- /dev/null
+++ b/Control/AthViews/src/ViewDataVerifier.h
@@ -0,0 +1,78 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ViewDataVerifier.h 
+// Header file for class ViewDataVerifier
+// Author: B. Wynne <bwynne@cern.ch>
+/////////////////////////////////////////////////////////////////// 
+#ifndef ATHVIEWS_VIEWDATAVERIFIER_H
+#define ATHVIEWS_VIEWDATAVERIFIER_H 1
+
+// STL includes
+#include <string>
+
+// FrameWork includes
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "GaudiKernel/DataObjID.h"
+
+namespace AthViews {
+
+class ViewDataVerifier
+  : public ::AthAlgorithm
+{ 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Public methods: 
+  /////////////////////////////////////////////////////////////////// 
+ public: 
+
+  // Copy constructor: 
+
+  /// Constructor with parameters: 
+  ViewDataVerifier( const std::string& name, ISvcLocator* pSvcLocator );
+
+  /// Destructor: 
+  virtual ~ViewDataVerifier(); 
+
+  // Assignment operator: 
+  //ViewDataVerifier &operator=(const ViewDataVerifier &alg); 
+
+  // Athena algorithm's Hooks
+  virtual StatusCode  initialize();
+  virtual StatusCode  execute();
+  virtual StatusCode  finalize();
+
+  /////////////////////////////////////////////////////////////////// 
+  // Const methods: 
+  ///////////////////////////////////////////////////////////////////
+
+  /////////////////////////////////////////////////////////////////// 
+  // Non-const methods: 
+  /////////////////////////////////////////////////////////////////// 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Private data: 
+  /////////////////////////////////////////////////////////////////// 
+ private: 
+
+  /// Default constructor: 
+  ViewDataVerifier();
+
+  /// Containers to verify
+  Gaudi::Property< DataObjIDColl > m_load{ this, "DataObjects", DataObjIDColl(), "Objects to confirm are found in this view" };
+  
+  // vars
+}; 
+
+// I/O operators
+//////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Inline methods: 
+/////////////////////////////////////////////////////////////////// 
+
+} //> end namespace AthViews
+#endif //> !ATHVIEWS_VIEWDATAVERIFIER_H
diff --git a/Control/AthViews/src/ViewTestAlg.cxx b/Control/AthViews/src/ViewTestAlg.cxx
new file mode 100644
index 00000000000..38342ff7e8d
--- /dev/null
+++ b/Control/AthViews/src/ViewTestAlg.cxx
@@ -0,0 +1,93 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ViewTestAlg.cxx 
+// Implementation file for class ViewTestAlg
+// Author: B. Wynne <bwynne@cern.ch>
+/////////////////////////////////////////////////////////////////// 
+
+#include "ViewTestAlg.h"
+
+// STL includes
+
+// FrameWork includes
+#include "AthenaKernel/ExtendedEventContext.h"
+
+namespace AthViews {
+
+/////////////////////////////////////////////////////////////////// 
+// Public methods: 
+/////////////////////////////////////////////////////////////////// 
+
+// Constructors
+////////////////
+ViewTestAlg::ViewTestAlg( const std::string& name, 
+                      ISvcLocator* pSvcLocator ) : 
+  ::AthAlgorithm( name, pSvcLocator )
+{
+  //
+  // Property declaration
+  // 
+  //declareProperty( "Property", m_nProperty );
+}
+
+// Destructor
+///////////////
+ViewTestAlg::~ViewTestAlg()
+{}
+
+// Athena Algorithm's Hooks
+////////////////////////////
+StatusCode ViewTestAlg::initialize()
+{
+  ATH_MSG_INFO ("Initializing " << name() << "...");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode ViewTestAlg::finalize()
+{
+  ATH_MSG_INFO ("Finalizing " << name() << "...");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode ViewTestAlg::execute()
+{  
+  ATH_MSG_DEBUG ("Executing " << name() << "...");
+
+#ifdef GAUDI_SYSEXECUTE_WITHCONTEXT 
+  const EventContext& ctx = getContext();
+#else
+  const EventContext& ctx = *getContext();
+#endif
+
+  ATH_MSG_INFO( name() << " running with store " << ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() );
+
+  return StatusCode::SUCCESS;
+}
+
+/////////////////////////////////////////////////////////////////// 
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Non-const methods: 
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Protected methods: 
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Non-const methods: 
+/////////////////////////////////////////////////////////////////// 
+
+} //> end namespace AthViews
diff --git a/Control/AthViews/src/ViewTestAlg.h b/Control/AthViews/src/ViewTestAlg.h
new file mode 100644
index 00000000000..161d245ad49
--- /dev/null
+++ b/Control/AthViews/src/ViewTestAlg.h
@@ -0,0 +1,76 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ViewTestAlg.h 
+// Header file for class ViewTestAlg
+// Author: B. Wynne <bwynne@cern.ch>
+/////////////////////////////////////////////////////////////////// 
+#ifndef ATHVIEWS_VIEWTESTALG_H
+#define ATHVIEWS_VIEWTESTALG_H 1
+
+// STL includes
+#include <string>
+
+// FrameWork includes
+#include "AthenaBaseComps/AthAlgorithm.h"
+
+namespace AthViews {
+
+class ViewTestAlg
+  : public ::AthAlgorithm
+{ 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Public methods: 
+  /////////////////////////////////////////////////////////////////// 
+ public: 
+
+  // Copy constructor: 
+
+  /// Constructor with parameters: 
+  ViewTestAlg( const std::string& name, ISvcLocator* pSvcLocator );
+
+  /// Destructor: 
+  virtual ~ViewTestAlg(); 
+
+  // Assignment operator: 
+  //ViewTestAlg &operator=(const ViewTestAlg &alg); 
+
+  // Athena algorithm's Hooks
+  virtual StatusCode  initialize();
+  virtual StatusCode  execute();
+  virtual StatusCode  finalize();
+
+  /////////////////////////////////////////////////////////////////// 
+  // Const methods: 
+  ///////////////////////////////////////////////////////////////////
+
+  /////////////////////////////////////////////////////////////////// 
+  // Non-const methods: 
+  /////////////////////////////////////////////////////////////////// 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Private data: 
+  /////////////////////////////////////////////////////////////////// 
+ private: 
+
+  /// Default constructor: 
+  ViewTestAlg();
+
+  /// Containers
+  
+  // vars
+}; 
+
+// I/O operators
+//////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Inline methods: 
+/////////////////////////////////////////////////////////////////// 
+
+} //> end namespace AthViews
+#endif //> !ATHVIEWS_VIEWTESTALG_H
diff --git a/Control/AthViews/src/components/AthViews_entries.cxx b/Control/AthViews/src/components/AthViews_entries.cxx
new file mode 100644
index 00000000000..72b806f5bb4
--- /dev/null
+++ b/Control/AthViews/src/components/AthViews_entries.cxx
@@ -0,0 +1,8 @@
+#include "../ViewDataVerifier.h"
+#include "../ViewTestAlg.h"
+#include "../RoiCollectionToViews.h"
+
+DECLARE_COMPONENT( AthViews::ViewDataVerifier )
+DECLARE_COMPONENT( AthViews::ViewTestAlg )
+DECLARE_COMPONENT( AthViews::RoiCollectionToViews )
+
diff --git a/Control/AthViews/test/test_simple_view_example.sh b/Control/AthViews/test/test_simple_view_example.sh
new file mode 100755
index 00000000000..610b74b9476
--- /dev/null
+++ b/Control/AthViews/test/test_simple_view_example.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# art-type: build
+# art-ci: master
+
+athena.py --threads=1 AthViews/SimpleViewExample.py
diff --git a/Control/AthViews/test/test_view_nest_fail.sh b/Control/AthViews/test/test_view_nest_fail.sh
new file mode 100755
index 00000000000..84caa738f68
--- /dev/null
+++ b/Control/AthViews/test/test_view_nest_fail.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# art-type: build
+# art-ci: master
+
+# We expect this command to fail, so invert the exit code
+if athena.py --threads=1 AthViews/ViewNest.py; then
+  exit 1
+else
+  exit 0
+fi
diff --git a/Control/AthViews/test/test_view_scheduling.sh b/Control/AthViews/test/test_view_scheduling.sh
new file mode 100755
index 00000000000..99db2e07108
--- /dev/null
+++ b/Control/AthViews/test/test_view_scheduling.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# art-type: build
+# art-ci: master
+
+athena.py --threads=1 AthViews/ViewScheduling.py
diff --git a/Control/AthenaConfiguration/python/CfgLogMsg.py b/Control/AthenaConfiguration/python/CfgLogMsg.py
new file mode 100644
index 00000000000..81d3bf805ef
--- /dev/null
+++ b/Control/AthenaConfiguration/python/CfgLogMsg.py
@@ -0,0 +1,66 @@
+import os, inspect
+
+class CfgLogMsg():
+
+    def __init__(self,level="info"):
+        self._lvl=self._lvlFromString(level)
+        pass
+
+    
+    def _lvlFromString(self,level):
+        #No ERROR message: Errors reported via exceptions!
+        if (level.lower()=="none"):
+            return 0
+        elif (level.lower()=="warning"):
+            return 1
+        elif (level.lower()=="info"):
+            return 2
+        elif (level.lower()=="debug"):
+            return 3
+        else:
+            raise TypeError('Allowed message levels are only "none", "info" or "debug", got %s' % level)
+        pass
+
+    def setLevel(self,level):
+        self._lvl=self._lvlFromString(level)
+        pass
+
+
+    def warning(self,message):
+        if self._lvl>=1:
+            (callfile,callfunc)=self.getCaller()
+            print "%s:%s  WARN %s" % (callfile,callfunc,message)
+
+    def info(self,message):
+        if self._lvl>=2:
+            (callfile,callfunc)=self.getCaller()
+            print "%s:%s  INFO %s" % (callfile,callfunc,message)
+
+    def debug(self,message):
+        if self._lvl>=3:
+            (callfile,callfunc)=self.getCaller()
+            print "%s:%s  DEBUG %s" % (callfile,callfunc,message)
+
+    def getCaller(self):
+        try:
+            #print inspect.stack()
+            callfile=inspect.stack()[2][1].split("/")[-1]
+            callfunc=inspect.stack()[2][3]
+        except Exception, e:
+            print e 
+            (callfile,callfunc)=("","")
+            pass
+        
+        return (callfile,callfunc)
+        
+
+
+_level=None
+if 'ATH_CFG_MSG_LVL' in os.environ:
+    _level=os.environ["ATH_CFG_MSG_LVL"]
+else:
+    _level="info"
+
+cfgLogMsg=CfgLogMsg(_level)
+
+del _level
diff --git a/Control/AthenaConfiguration/python/ConfigFlags.py b/Control/AthenaConfiguration/python/ConfigFlags.py
new file mode 100644
index 00000000000..ad9a8767c25
--- /dev/null
+++ b/Control/AthenaConfiguration/python/ConfigFlags.py
@@ -0,0 +1,111 @@
+from copy import deepcopy
+from AthenaConfiguration.CfgLogMsg import cfgLogMsg
+
+class ConfigFlag(object):
+    def __init__(self,initialValue=None):
+        self._value=initialValue
+        self._alreadySet=False
+        pass
+
+    #def getDefault(self,prevContainer):
+    #    pass
+
+    def set_Value(self,newvalue):
+        if not self._alreadySet:
+            self._value=newvalue
+            self._alreadySet=True
+            return True
+        else:
+            print("Config Flag '%s' already set" % self.__class__.__name__)
+            return False
+
+    def get_Value(self):
+        return deepcopy(self._value)
+
+    def __call__(self):
+        return self.get_Value()  
+    
+    def wasSet(self):
+        return self._alreadySet
+
+
+class pseudomodule(object):
+    def __init__(self,flagsContainer,upstream):
+        self._fc=flagsContainer
+        self._location=upstream
+    
+    def __getattr__(self,nextLevel):
+        newloc=self._location+"."+nextLevel
+        #print "NewLoc=",newloc
+        if len(newloc.split("."))==3:
+            return self._fc.get(newloc)
+        else:
+            return pseudomodule(self._fc,newloc)
+
+
+
+class ConfigFlagContainer(object):
+    def __init__(self,otherFlags=None):
+        if otherFlags is None:
+            self._flagdict=dict()
+        else:
+            self._flagdict=deepcopy(otherFlags._flagdict)
+
+    def importFlag(self,fullname):
+        if not len(fullname.split(".")):
+            raise KeyError("Flag name format is <package>.<module>.<flag>")
+        (p,m,f)=fullname.split(".")
+        cfgLogMsg.debug("Importing flag %s from module %s.%s" % (f,p,m))
+        exec "import %s.%s as newmodule" % (p,m)
+        if not hasattr(newmodule,f):
+            raise ImportError("Module %s.%s has no class called %s" % (p,m,f))
+
+        flagclass=getattr(newmodule,f)
+        if not issubclass(flagclass,ConfigFlag):
+            raise TypeError("Class %s is not a subclass of ConfigFlag" % f)
+        return flagclass
+
+
+    def get(self,name):
+        if not self._flagdict.has_key(name):
+            newFlag_t=self.importFlag(name)
+            newFlag=newFlag_t()
+
+            #"Simple"-flags have no getDefault function but a _defaultvalue attr
+            if hasattr(newFlag_t,'_defaultvalue'):
+                newFlag._value=newFlag_t._defaultvalue
+            if hasattr(newFlag,"getDefault"):
+                newFlag._value=newFlag.getDefault(self)
+            self._flagdict[name]=newFlag
+            pass
+        f=self._flagdict[name]
+        return f.get_Value()
+
+    def set(self,name,value):
+        if not self._flagdict.has_key(name):
+            newFlag=self.importFlag(name)
+            self._flagdict[name]=newFlag()
+        return self._flagdict[name].set_Value(value)
+
+    def dump(self):
+        print "Content of ConfigFlagContainer:"
+        for n,f in self._flagdict.iteritems():
+            state = "(  set  )" if f.wasSet() else "(default)"
+            print "  ",n,state,":",f.get_Value()
+
+
+
+#Decorator to emulate pass-by-value behavior of flags
+def cloneflags( configFunc ):
+    def copied_flags( *args ):
+        cargs =  [ deepcopy( a ) if issubclass(a,ConfigFlagContainer) else a for a in args ]
+
+        return configFunc( *cargs )
+    return copied_flags
+
+
+
+#A function returning a class to create a job config-class in one line
+def makeFlag(name, defaultvalue,doc=None):
+    return type(name,(ConfigFlag,),{'_defaultvalue':defaultvalue,'__doc__':doc})
+
diff --git a/Control/AthenaConfiguration/python/GlobalConfigFlags.py b/Control/AthenaConfiguration/python/GlobalConfigFlags.py
new file mode 100644
index 00000000000..65faca13f00
--- /dev/null
+++ b/Control/AthenaConfiguration/python/GlobalConfigFlags.py
@@ -0,0 +1,29 @@
+from AthenaConfiguration.ConfigFlags import ConfigFlag,makeFlag
+from AthenaCommon.SystemOfUnits import TeV
+
+isMC=makeFlag('isMC',True)
+
+isOnline=makeFlag('isOnline',False)
+
+GeoLayout=makeFlag('GeoLayout',"atlas")
+
+projectName=makeFlag("ProjectName","data17_13TeV")     #should autoconfigure! 
+
+InputFiles=makeFlag("InputFiles",["_ATHENA_GENERIC_INPUTFILE_NAME_",])
+
+
+#Beam-related flags:
+bunchSpacing=makeFlag("BunchSpacing",25,"Bunch spacing in ns")
+
+numberOfCollisions=makeFlag("numberOfCollisions",0, "Number of collisions per beam crossing. Should be 2.3*(L/10**33)*(bunchSpacing/25 ns)")
+
+beamType=makeFlag("beamType",'collisions', "Specify data taking type: 'collisions' (default), 'singlebeam','cosmics'")
+
+beamEnergy=makeFlag("beamEnergy",7*TeV)
+
+class estimatedLuminosity(ConfigFlag):
+    def getDefault(self,prevFlags):
+        return 1E33*(prevFlags.get("AthenaConfiguration.GlobalConfigFlags.numberOfCollisions")/2.3)* \
+            (25./prevFlags.get("AthenaConfiguration.GlobalConfigFlags.bunchSpacing"))
+                     
+
diff --git a/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py b/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
new file mode 100644
index 00000000000..a55d9e6f8c0
--- /dev/null
+++ b/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
@@ -0,0 +1,75 @@
+
+
+from AthenaCommon.JobProperties import jobproperties
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+
+def HelloWorldCfg(ConfigFlags=None):
+    result=ComponentAccumulator()
+    
+    from AthExHelloWorld.AthExHelloWorldConf import HelloAlg
+    HelloWorld=HelloAlg("HelloWorld")
+    
+    HelloWorld.OutputLevel = 0
+
+    # Set an int property
+    HelloWorld.MyInt = 42
+
+    # Set a boolean property (False, True, 0, 1)
+    HelloWorld.MyBool = True
+
+    # Set a double property
+    HelloWorld.MyDouble = 3.14159
+
+    # Set a vector of strings property ...
+    HelloWorld.MyStringVec = [ "Welcome", "to", "Athena", "Framework", "Tutorial" ]
+
+    # ... and add one more:
+    HelloWorld.MyStringVec += [ "!" ]
+
+    # Set a map of strings to strings property ...
+    HelloWorld.MyDict = { 'Bonjour'      : 'Guten Tag',
+                          'Good Morning' : 'Bonjour' , 'one' : 'uno' }
+
+    # ... and add one more:
+    HelloWorld.MyDict[ "Goeiedag" ] = "Ni Hao"
+
+    # Set a table (a vector of pairs of doubles) ...
+    HelloWorld.MyTable = [ ( 1 , 1 ) , ( 2 , 4 ) , ( 3 , 9 ) ]
+
+    # ... and one more:
+    HelloWorld.MyTable += [ ( 4, 16 ) ]
+
+    # Set a matrix (a vector of vectors) ...
+    HelloWorld.MyMatrix = [ [ 1, 2, 3 ],
+                            [ 4, 5, 6 ] ]
+
+    # ... and some more:
+    HelloWorld.MyMatrix += [ [ 7, 8, 9 ] ]
+
+    from AthExHelloWorld.AthExHelloWorldConf import HelloTool
+    ht=HelloTool( "HelloTool" )
+    HelloWorld.MyPrivateHelloTool = ht #HelloTool( "HelloTool" )
+    HelloWorld.MyPrivateHelloTool.MyMessage = "A Private Message!"
+
+    pt=HelloTool( "PublicHello")
+    pt.MyMessage="A public Message!"    
+
+    result.addPublicTool(pt)
+    print pt
+
+
+    HelloWorld.MyPublicHelloTool=pt
+
+
+    #print HelloWorld
+
+    result.addEventAlgo(HelloWorld)
+    return result
+
+
+if __name__=="__main__":
+    cfg=HelloWorldCfg()
+    f=open("HelloWorld.pkl","w")
+    cfg.store(f)
+    f.close()
+
diff --git a/Control/AthenaKernel/AthenaKernel/DataBucket.h b/Control/AthenaKernel/AthenaKernel/DataBucket.h
new file mode 100755
index 00000000000..e43356e6b2d
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/DataBucket.h
@@ -0,0 +1,137 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ATHENAKERNEL_DATABUCKET_H
+#define ATHENAKERNEL_DATABUCKET_H
+
+#include "AthenaKernel/DataBucketBase.h"
+#include "AthenaKernel/DataObjectSharedPtr.h"
+
+//FIXME CLID is a tdef and can't be forward declared 
+#include "GaudiKernel/ClassID.h"
+#include <memory>
+#include <type_traits>
+
+/** @class DataBucket
+ *  @brief a wrapper inheriting from DataObject (via DataBucketBase)
+ *  that takes ownership of a data object to be put in the DataStore
+ *  @author ATLAS Collaboration
+ *  $Id: DataBucket.h,v 1.10 2008-06-25 22:45:49 calaf Exp $
+ **/
+
+namespace SG { 
+  class IRegisterTransient;
+  class CopyConversionBase;
+
+  template <class T> 
+  class DataBucket : public DataBucketBase {
+  
+  public:
+    
+    // CONSTRUCTORS:
+  
+    DataBucket(): m_ptr(0) {}  //needed by the generic converters
+    DataBucket(T* data);
+    template <class U>
+    DataBucket(std::unique_ptr<U> data);
+    DataBucket(SG::DataObjectSharedPtr<T> data);
+  
+    // DESTRUCTOR:
+  
+    virtual ~DataBucket();
+  
+    // DATAOBJECT METHODS
+    virtual const CLID& clID() const override;
+    static const CLID& classID();
+
+    // return the pointer as a void*
+    virtual void* object() override
+    {
+      typedef typename std::remove_const<T>::type T_nc;
+      return const_cast<T_nc*>(m_ptr);
+    }
+
+    /**
+     * @brief Return the @c type_info for the stored object.
+     */
+    virtual const std::type_info& tinfo() const override
+    {
+      return typeid(T);
+    }
+
+    // Serialize the object for reading
+    //  StreamBuffer& serialize(StreamBuffer& s);
+    // Serialize the object for writing
+    //  StreamBuffer& serialize(StreamBuffer& s)  const;
+  
+  
+
+    // AUTOMATIC CONVERSION OF TYPES
+    operator T*()                 { return ptr(); } //FIXME can we do without?
+    operator const T*() const     { return cptr(); }
+
+    /**
+     * @brief Return the contents of the @c DataBucket,
+     *        converted to type given by @a clid.  Note that only
+     *        derived->base conversions are allowed here.
+     * @param clid The class ID to which to convert.
+     * @param irt To be called if we make a new instance.
+     * @param isConst True if the object being converted is regarded as const.
+     */
+    virtual void* cast (CLID clid,
+                        IRegisterTransient* irt = 0,
+                        bool isConst = true) override;
+    
+
+    /**
+     * @brief Return the contents of the @c DataBucket,
+     *        converted to type given by @a std::type_info.  Note that only
+     *        derived->base conversions are allowed here.
+     * @param clid The @a std::type_info of the type to which to convert.
+     * @param irt To be called if we make a new instance.
+     * @param isConst True if the object being converted is regarded as const.
+     */
+    virtual void* cast (const std::type_info& tinfo,
+                        IRegisterTransient* irt = 0,
+                        bool isConst = true) override;
+
+    /**
+     * @brief Return a new @c DataBucket whose payload has been cloned from the
+     *        original one.
+     */
+    virtual DataBucket* clone() const override;
+
+    /**
+     * @brief Give up ownership of the  @c DataBucket contents.
+     *        This leaks the contents and it is useful mainly for error handling.
+     */
+    virtual void relinquish() override{ m_ptr=0;} //LEAKS m_ptr
+
+    /**
+     * If the held object derives from @c ILockable, call @c lock() on it.
+     */
+    virtual void lock() override;
+
+
+  protected:
+    T* ptr() { return m_ptr; }
+    const T* cptr() const { return m_ptr; }
+
+  private:
+    T* m_ptr;  //we own the thing now!
+
+    /// Objects made by copy conversion.
+    typedef std::pair<const CopyConversionBase*, void*> ent_t;
+    typedef std::vector<ent_t> vec_t;
+    vec_t m_cnvcopies;
+
+    DataBucket (const DataBucket&);
+    DataBucket& operator= (const DataBucket&);
+  };
+} //end namespace SG  
+#include "AthenaKernel/DataBucket.icc"
+
+#endif // ATHENAKERNEL_DATABUCKET_H
diff --git a/Control/AthenaKernel/AthenaKernel/DataBucket.icc b/Control/AthenaKernel/AthenaKernel/DataBucket.icc
new file mode 100755
index 00000000000..99b39a301ff
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/DataBucket.icc
@@ -0,0 +1,248 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "AthenaKernel/IRegisterTransient.h"
+#include "AthenaKernel/ClassID_traits.h"
+#include "AthenaKernel/BaseInfo.h"
+#include "AthenaKernel/ILockable.h"
+
+#include <type_traits>
+
+
+// Some helper functions.
+namespace SG {
+
+
+// If T is a DataObject, increment its reference count.
+// The second parameter tells whether or not T is a DataObject.
+template <class T>
+void db_maybe_ref (T*, std::false_type)
+{
+}
+template <class T>
+void db_maybe_ref (T* ptr, std::true_type)
+{
+  ptr->addRef();
+}
+
+
+// Release the pointer PTR.
+// If T is a DataObject, then decrement the reference count;
+// otherwise, just delete it.
+// The second parameter tells whether or not T is a DataObject.
+template <class T>
+void db_free_ptr (T* ptr, std::false_type)
+{
+  //  std::cout << "db_free_ptr: deleting ptr @" << ptr << " of type " << ClassID_traits<T>::typeName() << std::endl;
+  delete ptr;
+}
+template <class T>
+void db_free_ptr (T* ptr, std::true_type)
+{
+  typedef typename std::remove_const<T>::type T_nc;
+  //  std::cout << "db_free_ptr: releasing ptr @" << ptr << " of type " << ClassID_traits<T>::typeName() << std::endl;
+  const_cast<T_nc*>(ptr)->release();
+}
+
+// if T is abstract just return NULL and let clients deal with that
+template <typename T>
+SG::DataBucket<T>* db_clone_ptr (T*, std::false_type)
+{ return NULL; }
+
+// else use the copy constructor
+template <typename T>
+SG::DataBucket<T>* db_clone_ptr (T* ptr, std::true_type)
+{ return new SG::DataBucket<T>( new T(*ptr) ); }
+
+} // namespace SG
+
+
+///////////////////////////////////////////////////////////////////////////////
+// CONSTRUCTORS
+///////////////////////////////////////////////////////////////////////////////
+template <typename T> 
+SG::DataBucket<T>::DataBucket(T* data)
+  : m_ptr(data)
+{
+  // If T is a DataObject, increase the refcount.
+  typedef typename ClassID_traits<T>::is_DataObject_tag tag;
+  if (m_ptr)
+    SG::db_maybe_ref (m_ptr, tag());
+}
+
+template <typename T>
+template <typename U>
+SG::DataBucket<T>::DataBucket(std::unique_ptr<U> data)
+    // Rely on our caller to retain constness.
+  : DataBucket (const_cast<typename std::remove_const<U>::type*> (data.release()))
+{
+}
+
+template <typename T> 
+SG::DataBucket<T>::DataBucket(SG::DataObjectSharedPtr<T> data)
+  : m_ptr(data.detach())
+{
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// DATAOBJECT
+///////////////////////////////////////////////////////////////////////////////
+template <typename T> 
+const CLID& SG::DataBucket<T>::clID() const {return classID();}  
+
+template <typename T> 
+const CLID& SG::DataBucket<T>::classID() { 
+  typedef typename std::remove_pointer<T>::type BareTp;
+  typedef typename std::remove_const<BareTp>::type BareT;
+  return ClassID_traits<BareT>::ID();
+}
+
+
+/**
+ * @brief Return the contents of the @c DataBucket,
+ *        converted to type given by @a clid.  Note that only
+ *        derived->base conversions are allowed here.
+ * @param clid The class ID to which to convert.
+ * @param irt To be called if we make a new instance.
+ * @param isConst True if the object being converted is regarded as const.
+ */
+template <typename T> 
+void*
+SG::DataBucket<T>::cast (CLID clid,
+                         IRegisterTransient* irt /*= 0*/,
+                         bool isConst /*=true*/)
+{
+  void* ret = SG::BaseInfo<T>::cast (m_ptr, clid);
+  if (ret || !isConst)
+    return ret;
+
+  // Is there a copy conversion available?
+  const CopyConversionBase* cc = SG::BaseInfo<T>::baseinfo().copy_conversion (clid);
+  if (cc) {
+    vec_t::iterator end = m_cnvcopies.end();
+    for (vec_t::iterator it = m_cnvcopies.begin(); it != end; ++it) {
+      if (cc == it->first) {
+        cc->convertUntyped (m_ptr, it->second);
+        return it->second;
+      }
+    }
+
+    void* newcont = cc->create();
+    if (newcont) {
+      cc->convertUntyped (m_ptr, newcont);
+      m_cnvcopies.push_back (std::make_pair (cc, newcont));
+      irt->registerTransient (newcont);
+    }
+    return newcont;
+  }
+
+  return 0;
+}
+
+
+/**
+ * @brief Return the contents of the @c DataBucket,
+ *        converted to type given by @a std::type_info.  Note that only
+ *        derived->base conversions are allowed here.
+ * @param clid The @a std::type_info of the type to which to convert.
+ * @param irt To be called if we make a new instance.
+ * @param isConst True if the object being converted is regarded as const.
+ */
+template <typename T> 
+void* SG::DataBucket<T>::cast (const std::type_info& tinfo,
+                               IRegisterTransient* irt /*= 0*/,
+                               bool isConst /*= true*/)
+{
+  void* ret = SG::BaseInfo<T>::cast (m_ptr, tinfo);
+  if (ret || !isConst)
+    return ret;
+
+  // Is there a copy conversion available?
+  const CopyConversionBase* cc = SG::BaseInfo<T>::baseinfo().copy_conversion (tinfo);
+  if (cc) {
+    vec_t::iterator end = m_cnvcopies.end();
+    for (vec_t::iterator it = m_cnvcopies.begin(); it != end; ++it) {
+      if (cc == it->first) {
+        cc->convertUntyped (m_ptr, it->second);
+        return it->second;
+      }
+    }
+
+    void* newcont = cc->create();
+    if (newcont) {
+      cc->convertUntyped (m_ptr, newcont);
+      m_cnvcopies.push_back (std::make_pair (cc, newcont));
+      irt->registerTransient (newcont);
+    }
+    return newcont;
+  }
+
+  return 0;
+}
+
+/**
+ * @brief Return a new @c DataBucket whose payload has been cloned from the
+ *        original one.
+ */
+template <typename T>
+SG::DataBucket<T>* SG::DataBucket<T>::clone() const
+{ 
+  if (!m_ptr) { return NULL; }
+
+  typedef 
+    std::integral_constant< bool, !std::is_abstract<T>::value &&
+                                   std::is_trivially_copyable<T>::value >
+    truth_type_t;
+  return SG::db_clone_ptr( m_ptr, truth_type_t() );
+}
+
+template <typename T> 
+SG::DataBucket<T>::~DataBucket()
+{
+  // Delete any copies.
+  vec_t::iterator end = m_cnvcopies.end();
+  for (vec_t::iterator it = m_cnvcopies.begin(); it != end; ++it) {
+    it->first->destroy (it->second);
+  }
+
+  // Either delete m_ptr or decrement the refcount,
+  // depending on whether or not T is a DataObject.
+  typedef typename ClassID_traits<T>::is_DataObject_tag tag;
+  if (m_ptr)
+    SG::db_free_ptr(m_ptr, tag());
+}
+
+
+namespace {
+
+
+template <class T>
+void call_lock (T* p, std::true_type)
+{
+  typedef typename std::remove_const<T>::type T_nc;
+  ILockable* l = dynamic_cast<ILockable*> (const_cast<T_nc*>(p));
+  if (l) l->lock();
+}
+
+
+template <class T>
+void call_lock (T*, std::false_type)
+{
+}
+
+
+} // anonymous namespace
+
+
+/**
+ * If the held object derives from @c ILockable, call @lock() on it.
+ */
+template <class T>
+void SG::DataBucket<T>::lock()
+{
+  call_lock (m_ptr, typename std::is_polymorphic<T>::type());
+}
+
diff --git a/Control/AthenaKernel/AthenaKernel/DataBucketBase.h b/Control/AthenaKernel/AthenaKernel/DataBucketBase.h
new file mode 100755
index 00000000000..af3642c9ec0
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/DataBucketBase.h
@@ -0,0 +1,95 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ATHENAKERNEL_DATABUCKETBASE_H
+#define ATHENAKERNEL_DATABUCKETBASE_H
+
+/** @class DataBucketBase 
+ * @brief A non-templated base class for DataBucket, allows to access the
+ * transient object address as a void*
+ *  @author ATLAS Collaboration
+ *  $Id: DataBucketBase.h,v 1.7 2008-05-30 22:58:46 calaf Exp $
+ **/
+
+
+#include "GaudiKernel/DataObject.h"
+#include <typeinfo>
+
+namespace SG {
+  class IRegisterTransient;
+}
+
+class DataBucketBase : public DataObject
+{
+
+ public:
+
+  DataBucketBase() { };
+  virtual ~DataBucketBase() { };
+  virtual void* object() = 0;
+
+  /**
+   * @brief Return the @c type_info for the stored object.
+   */
+  virtual const std::type_info& tinfo() const = 0;
+
+  /**
+   * @brief Return the contents of the @c DataBucket,
+   *        converted to type @a T.  Note that only
+   *        derived->base conversions are allowed here.
+   *        @a T must have a valid Class ID for this to work.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   */
+  template <class T> T* cast (SG::IRegisterTransient* irt = 0,
+                              bool isConst = true);
+
+  /**
+   * @brief Return the contents of the @c DataBucket,
+   *        converted to type given by @a clid.  Note that only
+   *        derived->base conversions are allowed here.
+   * @param clid The class ID to which to convert.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   */
+  virtual void* cast (CLID clid,
+                      SG::IRegisterTransient* irt = 0,
+                      bool isConst = true) = 0;
+
+  /**
+   * @brief Return the contents of the @c DataBucket,
+   *        converted to type given by @a std::type_info.  Note that only
+   *        derived->base conversions are allowed here.
+   * @param clid The @a std::type_info of the type to which to convert.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   */
+  virtual void* cast (const std::type_info& tinfo,
+                      SG::IRegisterTransient* irt = 0,
+                      bool isConst = true) = 0;
+
+  /**
+   * @brief Return a new @c DataBucket whose payload has been cloned from the
+   *        original one.
+   */
+  virtual DataBucketBase* clone() const = 0;
+
+  /**
+   * @brief Give up ownership of the  @c DataBucket contents.
+   *        This leaks the contents and it is useful mainly for error handling.
+   */
+  virtual void relinquish() = 0;
+
+  /**
+   * If the held object derives from @c ILockable, call @c lock() on it.
+   */
+  virtual void lock() = 0;
+};
+
+
+#include "AthenaKernel/DataBucketBase.icc"
+
+
+#endif
+
diff --git a/Control/AthenaKernel/AthenaKernel/DataBucketBase.icc b/Control/AthenaKernel/AthenaKernel/DataBucketBase.icc
new file mode 100755
index 00000000000..96df2e927b4
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/DataBucketBase.icc
@@ -0,0 +1,34 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file  AthenaKernel/DataBucketBase.icc
+ * @author scott snyder
+ * @date Nov 2005
+ * @brief A non-templated base class for DataBucket, allows to access the
+ *        transient object address as a void*
+ *        Implementation file.
+ */
+
+#include "AthenaKernel/ClassID_traits.h"
+#include <type_traits>
+#include <typeinfo>
+
+
+/**
+ * @brief Return the contents of the @c DataBucket,
+ *        converted to type @a T.  Note that only
+ *        derived->base conversions are allowed here.
+ *        @a T must have a valid Class ID for this to work.
+ * @param irt To be called if we make a new instance.
+ * @param isConst True if the object being converted is regarded as const.
+ */
+template <class T>
+T* DataBucketBase::cast (SG::IRegisterTransient* irt /*= 0*/,
+                         bool isConst /*= true*/)
+{
+  return reinterpret_cast<T*>
+    (cast (typeid (typename std::remove_const<T>::type), irt, isConst));
+}
+
diff --git a/Control/AthenaKernel/AthenaKernel/DataBucketTraitFwd.h b/Control/AthenaKernel/AthenaKernel/DataBucketTraitFwd.h
new file mode 100644
index 00000000000..af6f6994903
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/DataBucketTraitFwd.h
@@ -0,0 +1,36 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id: DataBucketTraitFwd.h,v 1.2 2008-04-08 16:05:32 ssnyder Exp $
+
+/**
+ * @file AthenaKernel/DataBucketTrait.h
+ * @author scott snyder
+ * @date Mar, 2008
+ * @brief Forward declaration of DataBucketTrait template.
+ */
+
+
+#ifndef ATHENAKERNEL_DATABUCKETTRAITFWD_H
+#define ATHENAKERNEL_DATABUCKETTRAITFWD_H
+
+
+namespace SG {
+
+
+  /**
+   * @brief Metafunction to find the proper @c DataBucket class for @c T.
+   *
+   * See in Storable_conversions.h for full documentation.
+   */
+  template <class T, class U = T>
+  struct DataBucketTrait;
+
+
+} // namespace SG
+
+
+#endif // not ATHENAKERNEL_DATABUCKETTRAITFWD_H
diff --git a/Control/AthenaKernel/AthenaKernel/IRegisterTransient.h b/Control/AthenaKernel/AthenaKernel/IRegisterTransient.h
new file mode 100644
index 00000000000..6d49fb39641
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/IRegisterTransient.h
@@ -0,0 +1,45 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file  AthenaKernel/IRegisterTransient.h
+ * @author scott snyder
+ * @date Mar, 2008
+ * @brief Interface for registering a transient object in t2p map.
+ */
+
+
+#ifndef ATHENAKERNEL_IREGISTERTRANSIENT_H
+#define ATHENAKERNEL_IREGISTERTRANSIENT_H
+
+
+namespace SG {
+
+
+/**
+ * @brief Interface for registering a transient object in t2p map.
+ *
+ * (See @c T2pMap.)
+ */
+class IRegisterTransient
+{
+public:
+  /// Destructor.
+  virtual ~IRegisterTransient() {}
+
+
+  /**
+   * @brief Register a transient object in a t2p map.
+   * @param trans The object to register.
+   */
+  virtual void registerTransient (void* trans) = 0;
+};
+
+
+} // namespace SG
+
+
+#endif // not ATHENAKERNEL_IREGISTERTRANSIENT_H
diff --git a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.h b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.h
new file mode 100644
index 00000000000..328edd271c0
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.h
@@ -0,0 +1,90 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaKernel/MetaContDataBucket.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jan, 2018
+ * @brief Allow converting MetaCont<T> to T.
+ */
+
+
+#ifndef ATHENAKERNEL_METACONTDATABUCKET_H
+#define ATHENAKERNEL_METACONTDATABUCKET_H
+
+
+#include "AthenaKernel/DataBucket.h"
+#include "AthenaKernel/BaseInfo.h"
+#include "AthenaKernel/ExtendedEventContext.h"
+#include "AthenaKernel/SourceID.h"
+#include "GaudiKernel/ThreadLocalContext.h"
+#include "GaudiKernel/EventContext.h"
+
+
+namespace SG {
+
+
+/**
+ * @brief Allow converting MetaCont<T> to T.
+ *
+ * Metadata objects of type T are stored in MetaDataStore as MetaCont<T>.
+ * However, to allow using xAOD objects, we'd like to be able to reference
+ * a DataLink<T> pointing at this store.  That means that the cast operation
+ * of the DataBucket for MetaCont<T> needs to be able to convert to a T
+ * as well as MetaCont<T>.  We can arrange this using this custom DataBucket
+ * class, which overrides the cast() methods.  The use of this class is enabled
+ * by specializing DataBucketTrait in MetaCont.h.
+ */
+template <class T>
+class MetaContDataBucket
+  : public DataBucket<T>
+{
+public:
+  // Constructor inherited from base class.
+  using DataBucket<T>::DataBucket;
+
+
+  /**
+   * @brief Return the contents of the @c DataBucket,
+   *        converted to type given by @a clid.  Note that only
+   *        derived->base conversions are allowed here.
+   * @param clid The class ID to which to convert.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   */
+  virtual void* cast (CLID clid,
+                      IRegisterTransient* irt = 0,
+                      bool isConst = true) override;
+
+  
+  /**
+   * @brief Return the contents of the @c DataBucket,
+   *        converted to type given by @a std::type_info.  Note that only
+   *        derived->base conversions are allowed here.
+   * @param clid The @a std::type_info of the type to which to convert.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   */
+  virtual void* cast (const std::type_info& tinfo,
+                      IRegisterTransient* irt = 0,
+                      bool isConst = true) override;
+
+
+private:
+  /**
+   * @brief Return the metadata source id for the current event store.
+   *        Returns an empty string if there's no source ID set.
+   */
+  const SourceID getSID() const;
+};
+
+
+} // namespace SG
+
+
+#include "AthenaKernel/MetaContDataBucket.icc"
+
+
+#endif // not ATHENAKERNEL_METACONTDATABUCKET_H
diff --git a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc
new file mode 100644
index 00000000000..3d8ad804e81
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaKernel/MetaContDataBucket.icc
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jan, 2018
+ * @brief Allow converting MetaCont<T> to T.
+ */
+
+
+namespace SG {
+
+
+/**
+ * @brief Return the contents of the @c DataBucket,
+ *        converted to type given by @a clid.  Note that only
+ *        derived->base conversions are allowed here.
+ * @param clid The class ID to which to convert.
+ * @param irt To be called if we make a new instance.
+ * @param isConst True if the object being converted is regarded as const.
+ */
+template <class T>
+void* MetaContDataBucket<T>::cast (CLID clid,
+                                   IRegisterTransient* irt /*= 0*/,
+                                   bool isConst /*= true*/)
+{
+  // First try normal conversion.
+  if (void* ret = DataBucket<T>::cast (clid, irt, isConst)) {
+    return ret;
+  }
+
+  // Otherwise, try to retrieve the payload and cast it as requested.
+  typename T::Payload_t* payload = nullptr;
+  if (this->ptr()->find (getSID(), payload)) {
+    return SG::BaseInfo<typename T::Payload_t>::cast (payload, clid);
+  }
+  return nullptr;
+}
+
+  
+/**
+ * @brief Return the contents of the @c DataBucket,
+ *        converted to type given by @a std::type_info.  Note that only
+ *        derived->base conversions are allowed here.
+ * @param clid The @a std::type_info of the type to which to convert.
+ * @param irt To be called if we make a new instance.
+ * @param isConst True if the object being converted is regarded as const.
+ */
+template <class T>
+void* MetaContDataBucket<T>::cast (const std::type_info& tinfo,
+                                   IRegisterTransient* irt /*= 0*/,
+                                   bool isConst /*= true*/)
+{
+  if (void* ret = DataBucket<T>::cast (tinfo, irt, isConst)) {
+    return ret;
+  }
+  // Otherwise, try to retrieve the payload and cast it as requested.
+  typename T::Payload_t* payload = nullptr;
+  if (this->ptr()->find (getSID(), payload)) {
+    return SG::BaseInfo<typename T::Payload_t>::cast (payload, tinfo);
+  }
+  return nullptr;
+}
+
+
+/**
+ * @brief Return the metadata source id for the current event store.
+ *        Returns an empty string if there's no source ID set.
+ */
+template <class T>
+const SourceID MetaContDataBucket<T>::getSID() const
+{
+  const EventContext& ctx = Gaudi::Hive::currentContext();
+  const IProxyDict* store = 
+    ctx.getExtension<Atlas::ExtendedEventContext>()->proxy();
+  return store->sourceID();
+}
+
+
+} // namespace SG
diff --git a/Control/AthenaKernel/AthenaKernel/RCUUpdater.h b/Control/AthenaKernel/AthenaKernel/RCUUpdater.h
new file mode 100644
index 00000000000..a5ab486dab3
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/RCUUpdater.h
@@ -0,0 +1,97 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaKernel/RCUUpdater.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Implementation of Updater for RCUSvc.
+ */
+
+
+#ifndef ATHENAKERNEL_RCUUPDATER_H
+#define ATHENAKERNEL_RCUUPDATER_H
+
+
+#include "AthenaKernel/RCUObject.h"
+#include "AthenaKernel/IRCUSvc.h"
+#include "GaudiKernel/EventContext.h"
+#include "GaudiKernel/ThreadLocalContext.h"
+#include <utility>
+#include <memory>
+
+
+namespace Athena {
+
+
+/**
+ * @brief Implementation of Updater for RCUSvc.
+ *
+ * This is an implementation of the Updater interface defined in
+ * CxxUtils/ConcurrentRangeMap.h using RCUSvc.
+ *
+ * This uses RCUObject to manage an instance of type T.
+ */
+template <class T>
+class RCUUpdater
+{
+public:
+  /// Execution context type.
+  typedef EventContext Context_t;
+
+
+  /**
+   * @brief Constructor.
+   * @param rcusvc RCU service instance.
+   * @param args Additional arguments to pass to the T constructor.
+   *
+   * Creates a new instance of T.
+   */
+  template <typename... Args>
+  RCUUpdater (IRCUSvc& rcusvc, Args&&... args);
+
+
+  /**
+   * @brief Install a new object.
+   * @param p The new object to install.
+   * @param ctx Current execution context.
+   *
+   * The existing object should not be deleted until it can no longer
+   * be referenced by any thread.
+   */
+  void update (std::unique_ptr<T> p, const Context_t& ctx);
+
+
+  /**
+   * @brief Return a reference to the current object.
+   */
+  const T& get() const;
+
+
+  /**
+   * @brief Mark that an event slot is not referencing this object.
+   */
+  void quiescent (const Context_t& ctx);
+
+
+  /**
+   * @brief Return the current event context.
+   */
+  static const Context_t& defaultContext();
+
+  
+private:
+  /// The managed object.
+  std::unique_ptr<RCUObject<T> > m_obj;
+};
+
+
+} // namespace Athena
+
+
+#include "AthenaKernel/RCUUpdater.icc"
+
+
+#endif // not ATHENAKERNEL_RCUUPDATER_H
diff --git a/Control/AthenaKernel/AthenaKernel/RCUUpdater.icc b/Control/AthenaKernel/AthenaKernel/RCUUpdater.icc
new file mode 100644
index 00000000000..751581d444f
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/RCUUpdater.icc
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaKernel/RCUUpdater.icc
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief xxx
+ */
+
+
+namespace Athena {
+
+
+/**
+ * @brief Constructor.
+ * @param rcusvc RCU service instance.
+ * @param args Additional arguments to pass to the T constructor.
+ *
+ * Creates a new instance of T.
+ */
+template <class T>
+template <typename... Args>
+RCUUpdater<T>::RCUUpdater (IRCUSvc& rcusvc, Args&&... args)
+  : m_obj (rcusvc.newrcu<T> (std::forward<Args>(args)...))
+{
+}
+
+
+/**
+ * @brief Install a new object.
+ * @param p The new object to install.
+ * @param ctx Current execution context.
+ *
+ * The existing object should not be deleted until it can no longer
+ * be referenced by any thread.
+ */
+template <class T>
+void RCUUpdater<T>::update (std::unique_ptr<T> p, const Context_t& ctx)
+{
+  m_obj->updater(ctx).update (std::move (p));
+}
+
+
+/**
+ * @brief Return a reference to the current object.
+ */
+template <class T>
+inline
+const T& RCUUpdater<T>::get() const
+{
+  return *m_obj->reader();
+}
+
+
+/**
+ * @brief Mark that an event slot is not referencing this object.
+ */
+template <class T>
+void RCUUpdater<T>::quiescent (const Context_t& ctx)
+{
+  m_obj->quiescent (ctx);
+}
+
+
+/**
+ * @brief Return the current event context.
+ */
+template <class T>
+const typename RCUUpdater<T>::Context_t&
+RCUUpdater<T>::defaultContext()
+{
+  return Gaudi::Hive::currentContext();
+}
+
+
+} // namespace Athena
diff --git a/Control/AthenaKernel/AthenaKernel/SourceID.h b/Control/AthenaKernel/AthenaKernel/SourceID.h
new file mode 100644
index 00000000000..9307d118696
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/SourceID.h
@@ -0,0 +1,28 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaKernel/SourceID.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jan, 2018
+ * @brief Type used to identify a metadata source.
+ */
+
+
+#ifndef ATHENAKERNEL_SOURCEID_H
+#define ATHENAKERNEL_SOURCEID_H
+
+
+namespace SG {
+
+
+// Type used to identify a metadata source.
+// It currently is a string representation of the GUID of the input file.
+typedef std::string SourceID;
+
+
+}
+
+#endif // not ATHENAKERNEL_SOURCEID_H
diff --git a/Control/AthenaKernel/AthenaKernel/StorableConversions.h b/Control/AthenaKernel/AthenaKernel/StorableConversions.h
new file mode 100755
index 00000000000..2c53f9d9720
--- /dev/null
+++ b/Control/AthenaKernel/AthenaKernel/StorableConversions.h
@@ -0,0 +1,234 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ATHENAKERNEL_STORABLECONVERSIONS_H
+# define ATHENAKERNEL_STORABLECONVERSIONS_H
+/** @file StorableConversions.h
+ *  @brief convert to and from a SG storable
+ * $Id: StorableConversions.h,v 1.13 2008-05-22 22:54:12 calaf Exp $
+ * @author ATLAS Collaboration
+ **/
+
+#include "AthenaKernel/DataBucket.h"
+#include "AthenaKernel/DataBucketTraitFwd.h"
+#include "AthenaKernel/ClassID_traits.h"
+#include "AthenaKernel/tools/type_tools.h"
+#include "AthenaKernel/DataObjectSharedPtr.h"
+#include "GaudiKernel/DataObject.h"
+
+#ifndef NDEBUG
+#  include "AthenaKernel/getMessageSvc.h"
+#  include "GaudiKernel/MsgStream.h"
+#endif
+
+#include "boost/type_traits/is_same.hpp"
+#include "boost/mpl/identity.hpp"
+#include "boost/mpl/eval_if.hpp"
+#include <memory>
+#include <type_traits>
+
+
+namespace SG {
+
+  // put a dobj pointer in a bucket as appropriate
+  template <typename T> 
+  DataObject* asStorable(T* pObject);
+
+  // get a dobj pointer from a bucket as appropriate
+  template <typename T> 
+  bool  fromStorable(DataObject* pDObj, T*& pTrans, bool quiet=false,
+                     IRegisterTransient* irt = 0,
+                     bool isConst = true);
+
+  template <typename T>
+  T* Storable_cast(DataObject* pDObj, bool quiet=true,
+                   IRegisterTransient* irt = 0,
+                   bool isConst = true) {
+    T* result;
+    return  fromStorable(pDObj, result, quiet, irt, isConst) ? result : 0;
+  }
+
+
+  /**
+   * @brief Try to get the pointer back from a @a DataObject,
+   *        converted to be of type @a clid.
+   * @param pDObj The @a DataObject.
+   * @param clid The ID of the class to which to convert.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   *
+   * Only works if the @a DataObject is a @a DataBucket.
+   * Returns 0 on failure,
+   */
+  void* fromStorable(DataObject* pDObj, CLID clid,
+                     IRegisterTransient* irt = 0,
+                     bool isConst = true);
+
+
+  /**
+   * @brief Try to get the pointer back from a @a DataObject,
+   *        converted to be of type @a clid.
+   * @param pDObj The @a DataObject.
+   * @param clid The ID of the class to which to convert.
+   * @param irt To be called if we make a new instance.
+   * @param isConst True if the object being converted is regarded as const.
+   *
+   * Only works if the @a DataObject is a @a DataBucket.
+   * Returns 0 on failure,
+   */
+  void* Storable_cast(DataObject* pDObj, CLID clid,
+                      IRegisterTransient* irt = 0,
+                      bool isConst = true);
+
+}
+
+//////////////////////////////////////////////////////////////////
+// implementation details
+
+
+namespace SG {
+
+
+  /**
+   * @brief Metafunction to find the proper @c DataBucket class for @c T.
+   *
+   * Here's what we're trying to do.
+   *
+   * The default @c DataBucket class for @c T is @c SG::DataBucket\<T>.
+   *
+   * However, if @c T is a @c DataVector or @c DataList, then we want
+   * to use instead @c SG::DVLDataBucket\<T>.
+   *
+   * Further, if @c T derives from @c DataVector or @c DataList (as declared
+   * by @c SG_BASE), then we also want to use @c SG::DVLDataBucket\<T>.
+   *
+   * Further, we don't want this code to depend on @c DataVector
+   * or @c SG::DVLDataBucket.  That behavior is enabled only
+   * by including the appropriate @c DataVector/@c DataList headers.
+   *
+   * So, we handle this with the following metafunction.
+   * (By saying that this is a `metafunction', it means that the result
+   * is given by the nested type @c type.)
+   * The @c T argument is the type we're testing, and @c U is the top-level
+   * type that was given to the original invocation of @c DataBucketTrait.
+   * If @c T has no bases (according to @c SG::Bases), we return
+   * @c SG::DataBucket\<U>.  Otherwise, we apply ourselves recursively
+   * to the first base class.
+   *
+   * Other packages can then specialize this to change the behavior.
+   *
+   * We don't really try to handle multiple bases.  In principle,
+   * we could loop over them.  But it seems that that's not really needed,
+   * so i don't want to pull in the extra overhead unnecessarily.
+   *
+   * This class also defines a real static function init().
+   * This is called from @c fromStorable.
+   * It can be used to force instantiation of reflection information.
+   */
+  template <class T, class U /* = T*/>
+  struct DataBucketTrait
+  {
+    // The first base of @c T (or @c SG::NoBase).
+    typedef typename SG::BaseType<typename SG::Bases<T>::Base1>::type base1;
+
+    // Test to see if it's valid.
+    typedef typename boost::is_same<base1, SG::NoBase>::type has_base;
+
+    // This is what we'll return in the default (no base) case.
+    typedef boost::mpl::identity<SG::DataBucket<U> > deflt;
+
+    // This is what we use to recursively check the base
+    typedef DataBucketTrait<base1, U> recurse;
+
+    // Calculate the output.
+    // (Note that it's important to use @c eval_if here; otherwise,
+    // applying this to @c SG::NoBase won't work.)
+    typedef typename boost::mpl::eval_if<has_base, deflt, recurse>::type type;
+
+    /// Initialization hook.  A no-op by default.
+    static void init() {}
+  };
+
+
+  // put a dobj pointer in a bucket as appropriate
+  template <typename T>
+  DataObject* asStorable(T* pObject) {
+    typedef typename DataBucketTrait<T>::type bucket_t;
+    return new bucket_t (pObject);
+  }  
+
+  template <typename T>
+  DataObject* asStorable(std::unique_ptr<T> pObject) {
+    typedef typename std::remove_const<T>::type T_nc;
+    typedef typename DataBucketTrait<T_nc>::type bucket_t;
+    return new bucket_t (std::move(pObject));
+  }  
+
+  template <typename T>
+  DataObject* asStorable(SG::DataObjectSharedPtr<T> pObject) {
+    typedef typename DataBucketTrait<T>::type bucket_t;
+    return new bucket_t (std::move(pObject));
+  }  
+
+  // get a dobj pointer from a bucket as appropriate
+  //the DataObject must be a DataBucket<DATA>*.
+
+  template <typename T>
+  bool  fromStorable(DataObject* pDObj, T*& pTrans, 
+                     bool
+#ifndef NDEBUG
+                     quiet
+#endif
+                     , IRegisterTransient* irt,
+                     bool isConst /*= true*/)
+  {
+    typedef typename std::remove_const<T>::type T_nc;
+    typedef typename DataBucketTrait<T_nc>::type bucket_t;
+    DataBucketTrait<T_nc>::init();
+
+    //check inputs
+    if (0 == pDObj) {
+      pTrans=0;
+#ifndef NDEBUG
+      MsgStream gLog(Athena::getMessageSvc(), "SG::fromStorable");
+      gLog << MSG::WARNING << "null input pointer " << endmsg;
+#endif
+      return false;
+    }
+
+    // get T* from DataBucket:
+    SG::DataBucket<T_nc>* bucketPtr = dynamic_cast<bucket_t*>(pDObj);
+    bool success(0 != bucketPtr);
+    if (success)
+      pTrans = *bucketPtr;
+    else {
+      // Try to use BaseInfo information to convert pointers.
+      DataBucketBase* b = dynamic_cast<DataBucketBase*>(pDObj);
+      if (b) {
+        pTrans = b->template cast<T_nc> (irt, isConst);
+        if (pTrans)
+          success = true;
+      }
+    }
+
+#ifndef NDEBUG
+    if (!quiet && !success) {
+      MsgStream gLog(Athena::getMessageSvc(), "SG::fromStorable");
+      gLog << MSG::WARNING 
+		<< "can't convert stored DataObject " << pDObj 
+		<< " to type ("
+		<< ClassID_traits<T>::typeName() 
+		<< ")\n Unless you are following a symlink,"
+	        << " it probably means you have a duplicate "
+		<< "CLID = "  << pDObj->clID() 
+		<< endmsg;
+    }
+#endif
+    return success;
+  }
+}
+
+#endif // ATHENAKERNEL_STORABLECONVERSIONS_H
diff --git a/Control/AthenaKernel/share/DataBucket_test.ref b/Control/AthenaKernel/share/DataBucket_test.ref
new file mode 100644
index 00000000000..e602d83420b
--- /dev/null
+++ b/Control/AthenaKernel/share/DataBucket_test.ref
@@ -0,0 +1,43 @@
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Thu Aug  3 13:08:08 2017
+====================================================================================================================================
+ApplicationMgr       INFO Application Manager Configured successfully
+EventLoopMgr      WARNING Unable to locate service "EventSelector" 
+EventLoopMgr      WARNING No events will be processed from external input.
+HistogramPersis...WARNING Histograms saving not required.
+ApplicationMgr       INFO Application Manager Initialized successfully
+ApplicationMgr Ready
+int has_classID 244260744 version 1 and does not inherit from DataObject
+const int* has_classID 244260744
+vector<int> has_classID 22592129
+GaudiDataObj has_classID 8010 and does inherit from DataObject
+MyDataObj has_classID 8000 and does not inherit from DataObject
+AbstractDataObj has_classID 8011
+AbstractType has_classID 8004
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xc8ea70 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8000
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xc8ea70 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8000
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING null input pointer 
+<<---Error Message Ends-------
+Now we expect to see an error message:
+----Error Message Starts--->>
+SG::fromStorable  WARNING can't convert stored DataObject 0xc8ea70 to type (WrongType)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8010
+<<---Error Message Ends-------
+test2
+SG::fromStorable  WARNING can't convert stored DataObject 0xc8ea70 to type (X3)
+ Unless you are following a symlink, it probably means you have a duplicate CLID = 8011
+test3
+lock
+*** DataBucket_test OK ***
diff --git a/Control/AthenaKernel/share/MetaContDataBucket_test.ref b/Control/AthenaKernel/share/MetaContDataBucket_test.ref
new file mode 100644
index 00000000000..ce7df6c2c3f
--- /dev/null
+++ b/Control/AthenaKernel/share/MetaContDataBucket_test.ref
@@ -0,0 +1,2 @@
+MetaContDataBucket_test
+test1
diff --git a/Control/AthenaKernel/share/RCUUpdater_test.ref b/Control/AthenaKernel/share/RCUUpdater_test.ref
new file mode 100644
index 00000000000..a5bce3fd256
--- /dev/null
+++ b/Control/AthenaKernel/share/RCUUpdater_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/Control/AthenaKernel/test/DataBucket_test.cxx b/Control/AthenaKernel/test/DataBucket_test.cxx
new file mode 100755
index 00000000000..a97def5e1f0
--- /dev/null
+++ b/Control/AthenaKernel/test/DataBucket_test.cxx
@@ -0,0 +1,450 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#undef NDEBUG
+
+//#include "SGTools/BuiltinsClids.h"
+//#include "SGTools/StlVectorClids.h"
+//#include "SGTools/StlMapClids.h"
+#include "AthenaKernel/DataBucket.h"
+#include "AthenaKernel/StorableConversions.h"
+#include "AthenaKernel/ILockable.h"
+#include "AthenaKernel/CLASS_DEF.h"
+#include "CxxUtils/checker_macros.h"
+#include <atomic>
+#include <iostream>
+#include <cassert>
+#include <map>
+
+CLASS_DEF2( std::map<int,float> ,  256222847 , 1 )
+CLASS_DEF( int ,          244260744 , 1 )
+CLASS_DEF( std::vector<int> ,             22592129 , 1 )
+
+/*FIXME can get it from TestTools circ package dep */
+#define SGASSERTERROR( FALSEEXPR )   \
+    std::cerr << "Now we expect to see an error message:" << std::endl \
+              << "----Error Message Starts--->>" << std::endl; \
+    assert(!FALSEEXPR); \
+    std::cerr<< "<<---Error Message Ends-------" << std::endl
+
+
+#include "GaudiKernel/DataObject.h"
+
+
+//using namespace std;
+//using namespace SG;
+
+
+class GaudiDataObj : public DataObject {
+ 
+public: 
+  static std::atomic<int> count;
+ 
+  GaudiDataObj(): DataObject(), m_val(0) { ++count; };
+  GaudiDataObj(int i): DataObject(), m_val(i) { ++count; };
+  virtual ~GaudiDataObj(){ --count; };
+
+  static const CLID& classID() {
+    static const CLID ID = 8010;
+    return ID; }
+  virtual const CLID& clID() const { return classID(); }
+
+  void val(int i) { m_val = i; }
+  int val() const { return m_val; }
+
+private:
+  int m_val;
+};
+std::atomic<int> GaudiDataObj::count;
+
+class WrongType {};
+
+class AbstractType {
+public:
+  virtual ~AbstractType() {}
+  virtual void abstractMethod()=0;
+};
+
+class AbstractDataObj : public DataObject {
+public:
+  static const CLID& classID() {
+    static const CLID ID = 8011;
+    return ID; }
+  virtual const CLID& clID() const { return classID(); }
+  virtual void abstractMethod()=0;
+};
+
+class MyDataObj {
+ 
+public: 
+  static std::atomic<int> count;
+
+  MyDataObj(): m_val(0) { ++count; };
+  MyDataObj(int i): m_val(i) { ++count; }
+  ~MyDataObj(){ --count; }
+
+  void val(int i) { m_val = i; }
+  int val() const { return m_val; }
+
+private:
+  int m_val;
+};
+std::atomic<int> MyDataObj::count;
+
+#include "AthenaKernel/CLASS_DEF.h"
+CLASS_DEF(MyDataObj, 8000, 3) 
+
+#include <cassert>
+#include <vector>
+#include <map>
+
+#include "TestTools/initGaudi.h"
+
+//CLASSID_DEF(int, 34)
+//CLASSVERSION_DEF(int, 5)
+// CLASS_DEF(int, 8105, 1)
+// CLASS_DEF(std::vector<int>, 8002, 1)
+// CLASS_DEF2(std::map<int, float>, 8003, 1)
+CLASS_DEF(AbstractType, 8004, 1)
+CLASS_DEF(WrongType, 8005, 1)
+
+struct X1
+{
+  ~X1() {}
+  int a;
+};
+
+struct X2
+  : public virtual X1
+{
+  int b;
+};
+
+CLASS_DEF(X1, 8011, 1)
+CLASS_DEF(X2, 8012, 1)
+SG_BASE(X2, X1);
+
+CLASS_DEF( const int* , 206871866 , 1 )
+
+class X3
+{
+public:
+  int a;
+};
+CLASS_DEF(X3, 8013, 1)
+
+
+class XCopyConversion
+  : public SG::CopyConversion<X1, X3>
+{
+public:
+  void convert (const X1& src, X3& dst) const
+  { dst.a = src.a; }
+};
+
+SG_ADD_COPY_CONVERSION(X1, XCopyConversion);
+
+class X4
+{
+public:
+  int a;
+};
+CLASS_DEF(X4, 8014, 1)
+
+
+class X5
+{
+public:
+  X5 (int the_a) : a(the_a){}
+  ~X5() { log.push_back (a); }
+  int a;
+  static std::vector<int> log ATLAS_THREAD_SAFE;
+};
+std::vector<int> X5::log;
+CLASS_DEF(X5, 8015, 1)
+
+
+class XLock : public ILockable
+{
+public:
+  XLock() : m_locked (false) {}
+  void lock() { m_locked = true; std::cout << "lock\n"; }
+  bool m_locked;
+};
+CLASS_DEF(XLock, 8114, 1)
+
+
+
+class TestRegisterTransient
+  : public SG::IRegisterTransient
+{
+public:
+  virtual void registerTransient (void* trans) { m_xtrans.push_back (trans); }
+
+  std::vector<void*> m_xtrans;
+};
+
+
+
+// Test copying conversion.
+void test2()
+{
+  std::cout << "test2\n";
+  TestRegisterTransient trt;
+
+  X1* x1 = new X1;
+  x1->a = 10;
+  DataObject* xbucket = SG::asStorable(x1);
+
+  const X3* x3 = SG::Storable_cast<X3>(xbucket, false, &trt);
+  assert ((char*)x3 != (char*)x1);
+  assert (x3->a == 10);
+
+  assert (trt.m_xtrans.size() == 1);
+  assert (trt.m_xtrans[0] == x3);
+
+  const X4* x4 = SG::Storable_cast<X4>(xbucket, true, &trt);
+  assert (x4 == 0);
+
+  assert (SG::Storable_cast<X3>(xbucket, false, &trt, false) == 0);
+
+  SG::DataBucket<X1>* xb = dynamic_cast<SG::DataBucket<X1>*> (xbucket);
+  if (!xb) std::abort();
+  assert (xb->cast (ClassID_traits<X3>::ID(), &trt) == x3);
+  assert (xb->cast (typeid(X3), &trt) == x3);
+
+  assert (xb->cast (ClassID_traits<X4>::ID(), &trt) == 0);
+  assert (xb->cast (typeid(X4), &trt) == 0);
+
+  assert (xb->cast (ClassID_traits<X3>::ID(), &trt, false) == 0);
+  assert (xb->cast (typeid(X3), &trt, false) == 0);
+}
+
+
+// Test lock()
+void test3()
+{
+  using namespace SG;
+  std::cout << "test3\n";
+
+  X1* x1 = new X1;
+  XLock* xlock = new XLock;
+
+  DataObject* b1 = asStorable (x1);
+  DataObject* b2 = asStorable (xlock);
+
+  DataBucketBase* bb1 = dynamic_cast<DataBucketBase*> (b1);
+  DataBucketBase* bb2 = dynamic_cast<DataBucketBase*> (b2);
+  if (!bb1) std::abort();
+  if (!bb2) std::abort();
+
+  bb1->lock();
+  assert (!xlock->m_locked);
+  bb2->lock();
+  assert (xlock->m_locked);
+}
+
+
+int main () {
+  using namespace std;
+  using namespace SG;
+  ISvcLocator* pDum;
+  Athena_test::initGaudi(pDum); //need the MessageSvc
+  assert( pDum );
+  SG::DataBucket<int> intBucket(0);
+  SG::DataBucket<const int*> pintBucket(0);
+  SG::DataBucket<vector<int> > vintBucket(0);
+  std::cerr << "int has_classID " <<  intBucket.clID() << " version "
+            << ClassID_traits<int>::s_version << " and " 
+            << (ClassID_traits<int>::s_isDataObject ? "does" : "does not")
+            << " inherit from DataObject" <<std::endl;
+  std::cerr << "const int* has_classID " <<  pintBucket.clID() <<std::endl;
+  assert(intBucket.clID() == pintBucket.clID());
+  assert(intBucket.tinfo() == typeid(int));
+
+  std::cerr << "vector<int> has_classID " <<  vintBucket.clID() <<std::endl;
+  SG::DataBucket<GaudiDataObj> gdobjBucket(0);
+  std::cerr << "GaudiDataObj has_classID " <<  gdobjBucket.clID() << " and " 
+            << (ClassID_traits<GaudiDataObj>::s_isDataObject ? "does" : "does not")
+            << " inherit from DataObject" <<std::endl;
+  assert(gdobjBucket.clID() == GaudiDataObj::classID());
+  assert(ClassID_traits<GaudiDataObj>::s_isDataObject);
+
+  SG::DataBucket<MyDataObj> dobjBucket(0);
+  std::cerr << "MyDataObj has_classID " <<  dobjBucket.clID() << " and " 
+            << (ClassID_traits<MyDataObj>::s_isDataObject ? "does" : "does not")
+            << " inherit from DataObject" <<std::endl;
+  assert(dobjBucket.clID() == ClassID_traits<MyDataObj>::ID());
+  assert(!ClassID_traits<MyDataObj>::s_isDataObject);
+
+  SG::DataBucket<AbstractDataObj> absdobjBucket(0);
+  std::cerr << "AbstractDataObj has_classID " <<  absdobjBucket.clID() <<std::endl;
+  assert(absdobjBucket.clID() == AbstractDataObj::classID());
+  assert(ClassID_traits<AbstractDataObj>::s_isDataObject);
+
+  SG::DataBucket<AbstractType> absBucket(0);
+  std::cerr << "AbstractType has_classID " <<  absBucket.clID() <<std::endl;
+  assert(absBucket.clID() == ClassID_traits<AbstractType>::ID());
+  assert(!ClassID_traits<AbstractType>::s_isDataObject);
+
+  assert("int" == ClassID_traits<int>::typeName());
+  assert("GaudiDataObj" == ClassID_traits<GaudiDataObj>::typeName());
+  if("std::map<int,float>" != 
+     ClassID_traits<map<int, float> >::typeName()) {
+    std::cerr << "error checking type name for map<int,float>: ClassID has it as " << ClassID_traits<map<int, float> >::typeName() <<std::endl;
+    assert(0);
+  }
+
+  MyDataObj* pMDO = new MyDataObj(1);
+  MyDataObj* pRes(0);
+
+  DataObject* pBucket(asStorable(pMDO));
+  assert(fromStorable(pBucket, pRes));
+  //FIXME asStorable above creates a DataBucket which is not deleted by anybody
+  WrongType* pWrong(0);
+  SGASSERTERROR(fromStorable(pBucket, pWrong));
+  assert(pMDO == pRes);
+  assert(pRes->val()==1);
+
+  pRes = 0;
+  //  static const bool QUIET(true);
+  static const bool VERBOSE(false);
+  assert(0 != (pRes = SG::Storable_cast<MyDataObj>(pBucket, VERBOSE)));
+  
+  std::cerr << "Now we expect to see an error message:" << std::endl 
+	    << "----Error Message Starts--->>" << std::endl; 
+  pWrong = SG::Storable_cast<WrongType>(pBucket, VERBOSE);
+  assert(0 == pWrong);
+  std::cerr<< "<<---Error Message Ends-------" << std::endl;
+  std::cerr << "Now we expect to see an error message:" << std::endl 
+	    << "----Error Message Starts--->>" << std::endl; 
+  pWrong = SG::Storable_cast<WrongType>((DataObject*)0);
+  assert(0 == pWrong);
+  std::cerr<< "<<---Error Message Ends-------" << std::endl;
+  delete pBucket;
+	 
+  GaudiDataObj* pGDO = new GaudiDataObj(2);
+  GaudiDataObj* pGRes(0);
+  DataObject* DBGDO(asStorable(pGDO));
+  assert(fromStorable(DBGDO, pGRes));
+  SGASSERTERROR(fromStorable(DBGDO, pWrong));
+  assert(pGDO == pGRes);
+  assert(pGRes->val()==2);
+
+  DataObject* pDO(0);
+  assert (0 != (pDO = asStorable(new GaudiDataObj(3))));
+  pGRes = 0;
+  assert(0 != (pGRes = SG::Storable_cast<GaudiDataObj>(pDO, VERBOSE)));
+
+  delete pDO;
+  delete DBGDO;
+
+  //----------------------------------------------------------
+  X2* x2 = new X2;
+  X1* x1 = x2;
+  assert ((long)x1 != (long)x2);
+  DataObject* xbucket = asStorable(x2);
+  X1* x1b = 0;
+  assert (fromStorable (xbucket, x1b));
+  assert (x1 == x1b);
+  delete xbucket;
+  //----------------------------------------------------------
+  // Test refcounting.
+  int c1 = GaudiDataObj::count;
+  int c2 = MyDataObj::count;
+  GaudiDataObj* gdo = new GaudiDataObj;
+  assert(1 == gdo->addRef());
+  DataBucketBase* b1 = dynamic_cast<DataBucketBase*>(asStorable(gdo));
+  assert(1 == b1->addRef());
+  assert(1 == b1->refCount());
+  assert(2 == gdo->refCount());  //notice how DB and DO have indep refcounts
+  assert(1 == gdo->release());
+  assert(1 == gdo->refCount());
+  assert(1 == b1->refCount());
+  assert(0 == b1->release());
+  assert (c1 == GaudiDataObj::count);
+  //another combination
+  gdo = new GaudiDataObj;
+  assert(1 == gdo->addRef());
+  DataObject* b2(asStorable(gdo));
+  assert(3 == gdo->addRef());
+  delete b2; //this must not delete gdo, only decrease its refcount
+  assert(2 == gdo->refCount()); 
+  assert (c1 + 1 == GaudiDataObj::count);
+  //this is simpler: no DataObj in play
+  b2 = asStorable(new MyDataObj);
+  delete b2;
+  assert (c2 == MyDataObj::count);
+  //cleanup
+  delete gdo;
+  //----------------------------------------------------------
+
+  {
+    std::unique_ptr<X5> p (new X5(10));
+    DataBucketBase* b3 = new SG::DataBucket<X5> (std::move(p));
+    assert (p.get() == 0);
+    assert (X5::log.empty());
+    delete b3;
+    assert (X5::log == std::vector<int> {10});
+    X5::log.clear();
+  }
+
+  {
+    std::unique_ptr<X5> p (new X5(11));
+    DataObject* b4 = asStorable (std::move(p));
+    assert (p.get() == 0);
+    assert (X5::log.empty());
+    delete b4;
+    assert (X5::log == std::vector<int> {11});
+    X5::log.clear();
+  }
+
+  {
+    std::unique_ptr<const X5> p (new X5(12));
+    DataBucketBase* b5 = new SG::DataBucket<X5> (std::move(p));
+    assert (p.get() == 0);
+    assert (X5::log.empty());
+    delete b5;
+    assert (X5::log == std::vector<int> {12});
+    X5::log.clear();
+  }
+
+  {
+    std::unique_ptr<const X5> p (new X5(13));
+    DataObject* b6 = asStorable (std::move(p));
+    assert (p.get() == 0);
+    assert (X5::log.empty());
+    delete b6;
+    assert (X5::log == std::vector<int> {13});
+    X5::log.clear();
+  }
+
+  {
+    SG::DataObjectSharedPtr<GaudiDataObj> ptr (new GaudiDataObj);
+    assert (ptr->refCount() == 1);
+    DataBucketBase* b5 = new SG::DataBucket<GaudiDataObj> (ptr);
+    assert (ptr->refCount() == 2);
+    assert (b5->object() == ptr.get());
+    delete b5;
+    assert (ptr->refCount() == 1);
+  }
+
+  {
+    SG::DataObjectSharedPtr<GaudiDataObj> ptr (new GaudiDataObj);
+    assert (ptr->refCount() == 1);
+    DataObject* b6 = asStorable (ptr);
+    assert (ptr->refCount() == 2);
+    delete b6;
+    assert (ptr->refCount() == 1);
+  }
+
+  test2();
+  test3();
+
+  std::cerr << "*** DataBucket_test OK ***" <<std::endl;
+  return 0;
+
+}
+
+
diff --git a/Control/AthenaKernel/test/MetaContDataBucket_test.cxx b/Control/AthenaKernel/test/MetaContDataBucket_test.cxx
new file mode 100644
index 00000000000..72582e1bda3
--- /dev/null
+++ b/Control/AthenaKernel/test/MetaContDataBucket_test.cxx
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration.
+ */
+
+// $Id$
+/**
+ * @file AthenaKernel/test/MetaContDataBucket_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jan, 2018
+ * @brief Regression tests for MetaContDataBucket.
+ */
+
+#undef NDEBUG
+#include "AthenaKernel/MetaContDataBucket.h"
+#include "AthenaKernel/ExtendedEventContext.h"
+#include "AthenaKernel/CLASS_DEF.h"
+#include "AthenaKernel/BaseInfo.h"
+#include "GaudiKernel/EventContext.h"
+#include "GaudiKernel/ThreadLocalContext.h"
+#include <cassert>
+#include <iostream>
+
+
+class TestProxyDict
+  : public IProxyDict
+{
+public:
+  virtual const std::string& name() const override { std::abort(); }
+  virtual unsigned long addRef() override { std::abort(); }
+  virtual unsigned long release() override { std::abort(); }
+  virtual StatusCode queryInterface( const InterfaceID&, void** ) override { std::abort(); }
+
+  virtual
+  sgkey_t stringToKey (const std::string&, CLID) override { std::abort(); }
+  virtual
+  const std::string* keyToString (sgkey_t) const override { std::abort(); }
+  virtual
+  const std::string* keyToString (sgkey_t, CLID&) const override { std::abort(); }
+  virtual
+  void registerKey (sgkey_t, const std::string&, CLID) override { std::abort(); }
+
+  virtual SG::DataProxy* proxy_exact (SG::sgkey_t) const override { std::abort(); }
+  virtual SG::DataProxy* proxy(const CLID&,
+                               const std::string&) const override { std::abort(); }
+  virtual SG::DataProxy* proxy(const void* const) const override { std::abort(); }
+  virtual std::vector<const SG::DataProxy*> proxies() const override { std::abort(); }
+  virtual StatusCode addToStore (CLID, SG::DataProxy*) override { std::abort(); }
+  virtual SG::DataProxy* recordObject (SG::DataObjectSharedPtr<DataObject>,
+                                       const std::string&,
+                                       bool,
+                                       bool) override { std::abort(); }
+  virtual StatusCode updatedObject (CLID, const std::string&) override { std::abort(); }
+
+  virtual SG::SourceID sourceID() const override { return source; }
+  std::string source;
+};
+
+
+class TestPayload
+{
+public:
+  virtual ~TestPayload() {}
+};
+
+class TestContBase
+{
+public:
+  virtual ~TestContBase() {}
+};
+
+class TestCont
+  : public TestContBase
+{
+public:
+  typedef TestPayload Payload_t;
+  TestPayload myPayload;
+
+  bool find (const SG::SourceID& sid, TestPayload*& payload)
+  {
+    if (sid == "source") {
+      payload = &myPayload;
+      return true;
+    }
+    return false;
+  }
+};
+
+
+CLASS_DEF( TestContBase, 98770271, 1 )
+CLASS_DEF( TestCont, 86960140, 1 )
+CLASS_DEF( TestPayload, 128629149, 1 )
+
+SG_BASE( TestCont, TestContBase );
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  EventContext ctx;
+  TestProxyDict proxyDict;
+  ctx.setExtension ( Atlas::ExtendedEventContext( &proxyDict ) );
+  Gaudi::Hive::setCurrentContext (ctx);
+
+  SG::MetaContDataBucket<TestCont> bucket (std::make_unique<TestCont>());
+
+  void* p = nullptr;
+
+  p = bucket.cast (ClassID_traits<TestCont>::ID());
+  assert (typeid (*reinterpret_cast<TestCont*>(p)) == typeid (TestCont));
+  p = bucket.cast (ClassID_traits<TestContBase>::ID());
+  assert (typeid (*reinterpret_cast<TestContBase*>(p)) == typeid (TestCont));
+  assert (bucket.cast (ClassID_traits<TestPayload>::ID()) == nullptr);
+
+  p = bucket.cast (typeid (TestCont));
+  assert (typeid (*reinterpret_cast<TestCont*>(p)) == typeid (TestCont));
+  p = bucket.cast (typeid (TestContBase));
+  assert (typeid (*reinterpret_cast<TestContBase*>(p)) == typeid (TestCont));
+  assert (bucket.cast (typeid (TestPayload)) == nullptr);
+
+  proxyDict.source = "source";
+  p = bucket.cast (ClassID_traits<TestPayload>::ID());
+  assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload));
+  p = bucket.cast (typeid (TestPayload));
+  assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload));
+}
+
+
+int main()
+{
+  std::cout << "MetaContDataBucket_test\n";    
+  test1();
+  return 0;
+}
diff --git a/Control/AthenaKernel/test/RCUUpdater_test.cxx b/Control/AthenaKernel/test/RCUUpdater_test.cxx
new file mode 100644
index 00000000000..d7e01116da7
--- /dev/null
+++ b/Control/AthenaKernel/test/RCUUpdater_test.cxx
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+
+// $Id$
+/**
+ * @file  AthenaKernel/test/RCUUpdater_test.cxx
+ * @author scott snyder
+ * @date Nov, 2017
+ * @brief Unit test for RCUUpdater.
+ */
+
+
+#include "AthenaKernel/RCUUpdater.h"
+#include <vector>
+#include <cassert>
+#include <iostream>
+
+
+static const int nslots = 2;
+
+
+class TestRCUSvc
+  : public Athena::IRCUSvc
+{
+public:
+  virtual StatusCode remove (Athena::IRCUObject* obj) override
+  {
+    m_removed = obj;
+    return StatusCode::SUCCESS;
+  }
+  virtual size_t getNumSlots() const override
+  { return nslots; }
+  virtual void add (Athena::IRCUObject* /*obj*/) override
+  { }
+
+  virtual unsigned long addRef() override { std::abort(); }
+  virtual unsigned long release() override { std::abort(); }
+  virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override { std::abort(); }
+
+  Athena::IRCUObject* m_removed = nullptr;
+};
+
+
+class Payload
+{
+public:
+  typedef std::vector<int> vec_t;
+  Payload (vec_t& vec, int x) : m_vec(vec), m_x (x)
+  { vec.push_back (x); }
+  ~Payload()
+  {
+    vec_t::iterator i = std::find (m_vec.begin(), m_vec.end(), m_x);
+    if (i != m_vec.end()) m_vec.erase (i);
+  }
+  vec_t& m_vec;
+  int m_x;
+};
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  Payload::vec_t vec;
+  {
+    TestRCUSvc rcusvc;
+    typedef Athena::RCUUpdater<Payload> Updater_t;
+    Updater_t u (rcusvc, vec, 10);
+    assert (u.get().m_x == 10);
+    assert (vec.size() == 1);
+
+    EventContext c0 (0, 0);
+    EventContext c1 (0, 1);
+    u.update (std::make_unique<Payload> (vec, 20), c0);
+    assert (u.get().m_x == 20);
+    assert (vec.size() == 2);
+
+    Gaudi::Hive::setCurrentContext (c1);
+
+    u.quiescent (c0);
+    assert (vec.size() == 2);
+    u.quiescent (Updater_t::defaultContext());
+    assert (vec.size() == 1);
+  }
+  assert (vec.size() == 0);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/Control/CxxUtils/CxxUtils/CachedPointer.h b/Control/CxxUtils/CxxUtils/CachedPointer.h
new file mode 100644
index 00000000000..a0e29b666a6
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/CachedPointer.h
@@ -0,0 +1,109 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/CachedPointer.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017, from earlier code in AthLinks.
+ * @brief Cached pointer with atomic update.
+ */
+
+
+#ifndef CXXUTILS_CACHEDPOINTER_H
+#define CXXUTILS_CACHEDPOINTER_H
+
+
+#include <atomic>
+#include <cassert>
+
+
+#if ATOMIC_POINTER_LOCK_FREE != 2
+# error Code assumes lock-free atomic pointers; see comments below.
+#endif
+
+
+namespace CxxUtils {
+
+/**
+ * @brief Cached pointer with atomic update.
+ *
+ * The pointer may be set atomically through a const method.
+ * This can happen in multiple threads, but the value set should be the same
+ * in all threads.  (The value can also be set using the non-const
+ * store() method; however, this is not atomic and should not be done while
+ * other threads may be accessing the value.)
+ *
+ * In principle, we need this to be atomic, since this cached value
+ * can be changed from a const method.  However, because any access should
+ * always fill this with the same value, we don't care about ordering,
+ * only that the access itself is atomic in the sense of reading/writing
+ * the entire object at once.  Hence, we can use a relaxed memory ordering
+ * for accesses to the value.
+ * A further wrinkle is that the use case in AthLinks requires that we return
+ * a pointer to the value here;
+ * there doesn't seem to be a way around that without either changing
+ * how links are used or storing additional data here.  It should, however,
+ * be ok from a data race point of view because we ensure that we don't
+ * return a pointer until after it's set, and also that after it's set
+ * it isn't written again (from a const method).
+ * There is however, no portable way of getting a pointer to the
+ * underlying value of a std::atomic, so here we cheat and use a union.
+ * As an added check, we require that the compiler say that atomic
+ * pointers are always lock-free.
+ */
+union CachedPointer
+{
+public:
+  /// The stored pointer type.
+  typedef const void* pointer_t;
+
+
+  /// Default constructor.  Sets the element to null.
+  CachedPointer();
+
+    
+  /// Constructor from an element.
+  CachedPointer (pointer_t elt);
+
+
+  /// Copy constructor.
+  CachedPointer (const CachedPointer& other);
+
+
+  /// Assignment.
+  CachedPointer& operator= (const CachedPointer& other);
+
+
+  /// Set the element, assuming it is currently null.
+  void set (pointer_t elt) const;
+
+
+  /// Store a new value to the element.
+  void store (pointer_t elt) const;
+
+  
+  /// Return the current value of the element.
+  pointer_t get() const;
+
+
+  /// Return a pointer to the cached element.
+  const pointer_t* ptr() const;
+
+
+private:
+  /// The cached element, both directly and as an atomic
+  /// (recall that this is a union).
+  mutable std::atomic<pointer_t> m_a;  //! Transient
+  pointer_t m_e;    //! Transient
+};
+
+
+} // namespace CxxUtils
+
+
+#include "CxxUtils/CachedPointer.icc"
+
+
+#endif // not CXXUTILS_CACHEDPOINTER_H
diff --git a/Control/CxxUtils/CxxUtils/CachedPointer.icc b/Control/CxxUtils/CxxUtils/CachedPointer.icc
new file mode 100644
index 00000000000..c4a6f33f3a1
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/CachedPointer.icc
@@ -0,0 +1,116 @@
+// $Id$
+/**
+ * @file CxxUtils/CachedPointer.icc
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017, from earlier code in AthLinks.
+ * @brief Cached pointer with atomic update.
+ */
+
+
+namespace CxxUtils {
+
+
+/**
+ * @brief Default constructor.  Sets the element to null.
+ */
+inline
+CachedPointer::CachedPointer()
+  : m_a (nullptr)
+{
+}
+
+
+/**
+ * @brief Constructor from an element.
+ */
+inline
+CachedPointer::CachedPointer (pointer_t elt)
+  : m_a (elt)
+{
+}
+
+
+/**
+ * @brief Copy constructor.
+ */
+inline
+CachedPointer::CachedPointer (const CachedPointer& other)
+  : m_a (other.get())
+{
+}
+
+
+/**
+ * @brief Assignment.
+ */
+inline
+CachedPointer&
+CachedPointer::operator= (const CachedPointer& other)
+{
+  if (this != &other) {
+    store (other.get());
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Set the element, assuming it is currently null.
+ * @param elt The new value for the element.
+ *
+ * The current value of the element must either be null, in which case,
+ * it is set to ELT, or else it must already be equal to ELT, in which
+ * case no write occurs.  Anything else is considered an error.
+ *
+ * The reason for doing things this way is that we (have to) allow
+ * a pointer to the underlying element to escape to user code, and we
+ * don't want a write to conflict with a non-atomic read.  (Such a read
+ * can only happen after the element has been set for the first time.)
+ */
+inline
+void CachedPointer::set (pointer_t elt) const
+{
+  // Set the element to ELT if it is currently null.
+  pointer_t null = nullptr;
+  m_a.compare_exchange_strong (null, elt, std::memory_order_relaxed);
+  // If the element was originally null, then NULL will still be null.
+  // If the element was originally ELT, then no write will have been performed,
+  // and NULL will be ELT.  If the element was originally something else,
+  // then NULL will be set to that value.
+  assert (null == nullptr || null == elt);
+}
+
+
+/**
+ * @brief Store a new value to the element.
+ */
+inline
+void CachedPointer::store (pointer_t elt) const
+{
+  m_a.store (elt, std::memory_order_relaxed);
+}
+
+
+/**
+ * @brief Return the current value of the element.
+ */
+inline
+CachedPointer::pointer_t
+CachedPointer::get() const
+{
+  return m_a.load (std::memory_order_relaxed);
+}
+
+
+/**
+ * @brief Return a pointer to the cached element.
+ */
+inline
+const CachedPointer::pointer_t*
+CachedPointer::ptr() const
+{
+  return &m_e;
+}
+
+
+} // namespace CxxUtils
diff --git a/Control/CxxUtils/CxxUtils/CachedValue.h b/Control/CxxUtils/CxxUtils/CachedValue.h
new file mode 100644
index 00000000000..b8ad327a2b0
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/CachedValue.h
@@ -0,0 +1,147 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/CachedValue.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Sep, 2017
+ * @brief Cached value with atomic update.
+ */
+
+
+#ifndef CXXUTILS_CACHEDVALUE_H
+#define CXXUTILS_CACHEDVALUE_H
+
+
+#include "CxxUtils/checker_macros.h"
+#include <atomic>
+#include <utility>
+
+
+namespace CxxUtils {
+
+
+/// State of the cached value; see below.
+enum CacheState {
+  INVALID = 0,
+  UPDATING = 1,
+  VALID = 2
+};
+
+
+/**
+ * @brief Cached value with atomic update.
+ *
+ * Hold a cache of some value.
+ * The cache may be set atomically through a const method.
+ * This can happen in multiple threads, but the value set should be the same
+ * in all threads.  The value can be either valid or invalid; it can be set
+ * using the set() method.  (The value can also be set using the non-const
+ * store() method; however, this is not atomic and should not be done while
+ * other threads may be accessing the value.)  The validity of the value
+ * may be tested with isValid(), and ptr() will get back a pointer to the value.
+ * ptr() should not be called until isValid() has returned true.
+ *
+ * The state of the cached value is given by m_cacheState, which can have the values:
+ *   INVALID:  No value has been cached.
+ *   VALID:    The cached value is valid.
+ *   UPDATING: Some thread is in the process of setting the value.
+ */
+template <class T>
+class CachedValue
+{
+public:
+  template <class U>
+  friend class CachedValue;
+
+       
+  /// Default constructor.  Sets the value to invalid.
+  CachedValue();
+
+
+  /// Constructor from a value.
+  CachedValue (const T& val);
+
+
+  /// Move constructor from a value.
+  CachedValue (T&& val);
+
+
+  /// Copy constructor.
+  CachedValue (const CachedValue& other);
+
+
+  /// Move constructor.
+  /// No concurrent operations on OTHER are possible.
+  CachedValue (CachedValue&& other);
+
+
+  /// Copy constructor from other type.
+  template <class U>
+  CachedValue (const CachedValue<U>& other);
+
+
+  /// Assignment.
+  CachedValue& operator= (const CachedValue& other);
+
+    
+  /// Move.
+  /// No concurrent operations on OTHER are possible.
+  CachedValue& operator= (CachedValue&& other);
+
+    
+  /// Set the value, assuming it is currently invalid.
+  /// Otherwise, this method will do nothing.
+  void set (const T& val) const;
+ 
+
+  /// Set the value by move, assuming it is currently invalid.
+  /// Otherwise, this method will do nothing.
+  void set (T&& val) const;
+ 
+
+  /// Test to see if the value is valid.
+  /// May spin if another thread is currently updating the value.
+  bool isValid() const;
+    
+
+  /// Return a pointer to the cached value.
+  /// Should not be called unless isValid() has returned true.
+  const T* ptr() const;
+
+
+  /// Store a new value.
+  void store (const T& val);
+
+
+  /// Store a new value, by move.
+  void store (T&& val);
+
+
+  /// Reset the value to invalid.
+  void reset();
+
+    
+private:
+  /// Current state of the cached value.
+  ///   INVALID --- value has not been set.
+  ///   VALID --- value has been set.
+  ///   UPDATING --- value is in the process of being set by some thread.
+  mutable std::atomic<CacheState> m_cacheValid;  //! Transient
+
+
+  /// The cached value.
+  /// Do not return a pointer to this to the user unless the state is VALID.
+  mutable T m_val ATLAS_THREAD_SAFE;  //! Transient
+};
+
+
+} // namespace CxxUtils
+
+
+#include "CxxUtils/CachedValue.icc"
+
+
+#endif // not CXXUTILS_CACHEDVALUE_H
diff --git a/Control/CxxUtils/CxxUtils/CachedValue.icc b/Control/CxxUtils/CxxUtils/CachedValue.icc
new file mode 100644
index 00000000000..1cae758f7ba
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/CachedValue.icc
@@ -0,0 +1,264 @@
+// $Id$
+/**
+ * @file CxxUtils/CachedValue.icc
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Sep, 2017
+ * @brief Cached value with atomic update.
+ */
+
+
+namespace CxxUtils {
+
+
+/**
+ * @brief Default constructor.  Sets the value to invalid.
+ */
+template <class T>
+inline
+CachedValue<T>::CachedValue()
+  : m_cacheValid (INVALID),
+    m_val ()
+{
+}
+
+
+/**
+ * @brief Constructor from a value.
+ */
+template <class T>
+inline
+CachedValue<T>::CachedValue (const T& val)
+  : m_cacheValid (VALID),
+    m_val (val)
+{
+}
+
+
+/**
+ * @brief Move constructor from a value.
+ */
+template <class T>
+inline
+CachedValue<T>::CachedValue (T&& val)
+  : m_cacheValid (VALID),
+    m_val (std::move (val))
+{
+}
+
+
+/**
+ * @brief Copy constructor.
+ */
+template <class T>
+inline
+CachedValue<T>::CachedValue (const CachedValue& other)
+  : m_cacheValid (INVALID)
+{
+  // If the source is in the middle of an update, set this value
+  // to invalid.  Don't copy the value itself unless the source is valid.
+  if (other.m_cacheValid == VALID) {
+    m_cacheValid = VALID;
+    m_val = other.m_val;
+  }
+}
+
+
+/**
+ * @brief Move constructor.
+ *        No concurrent operations on OTHER are possible.
+ */
+template <class T>
+inline
+CachedValue<T>::CachedValue (CachedValue&& other)
+  : m_cacheValid (INVALID)
+{
+  if (other.m_cacheValid == VALID) {
+    m_val = std::move (other.m_val);
+    other.m_cacheValid = INVALID;
+    m_cacheValid = VALID;
+  }
+}
+
+
+/**
+ * @brief Copy constructor from other type.
+ */
+template <class T>
+template <class U>
+inline
+CachedValue<T>::CachedValue (const CachedValue<U>& other)
+  : m_cacheValid (INVALID)
+{
+  // If the source is in the middle of an update, set this value
+  // to invalid.  Don't copy the value itself unless the source is valid.
+  if (other.m_cacheValid == VALID) {
+    m_cacheValid = VALID;
+    m_val = other.m_val;
+  }
+}
+
+
+/**
+ * @brief Assignment.
+ */
+template <class T>
+inline
+CachedValue<T>& CachedValue<T>::operator= (const CachedValue& other)
+{
+  if (this != &other) {
+    if (other.m_cacheValid == VALID) {
+      m_cacheValid = VALID;
+      m_val = other.m_val;
+    }
+    else {
+      m_cacheValid = INVALID;
+    }
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Move.
+ *        No concurrent operations on OTHER are possible.
+ */
+template <class T>
+inline
+CachedValue<T>& CachedValue<T>::operator= (CachedValue&& other)
+{
+  if (this != &other) {
+    if (other.m_cacheValid == VALID) {
+      m_val = std::move (other.m_val);
+      other.m_cacheValid = INVALID;
+      m_cacheValid = VALID;
+    }
+    else {
+      m_cacheValid = INVALID;
+    }
+  }
+  return *this;
+}
+
+
+/// Helper for setting the value in an exception-safe manner.
+struct CacheLock
+{
+  /// If the cache is currently INVALID, then switch to UPDATING.
+  /// In that case, then this object will evaluate as true, and the
+  /// state will be changed to VALID when this object is destroyed.
+  /// Otherwise, this object will evaluate as false, and the cache state
+  /// will not be changed.
+  CacheLock (std::atomic<CacheState>& flag)
+    : m_flag (flag),
+      m_vflag (INVALID)
+  {
+    flag.compare_exchange_strong (m_vflag, UPDATING);
+  }
+  operator bool() const { return m_vflag == INVALID; }
+  ~CacheLock() { if (m_vflag == INVALID) m_flag = VALID; }
+
+  std::atomic<CacheState>& m_flag;
+  CacheState m_vflag;
+};
+
+
+/**
+ * @brief Set the value, assuming it is currently invalid.
+ * Otherwise, this method will do nothing.
+ */
+template <class T>
+inline
+void CachedValue<T>::set (const T& val) const
+{
+  // Interlocked assignment of the cached value,
+  // only if the current state is INVALID.
+  {
+    CacheLock lock (m_cacheValid);
+    if (lock) {
+      m_val = val;
+    }
+  }
+}
+
+
+/**
+ * @brief Set the value by move, assuming it is currently invalid.
+ * Otherwise, this method will do nothing.
+ */
+template <class T>
+inline
+void CachedValue<T>::set (T&& val) const
+{
+  // Interlocked assignment of the cached value,
+  // only if the current state is INVALID.
+  {
+    CacheLock lock (m_cacheValid);
+    if (lock) {
+      m_val = std::move (val);
+    }
+  }
+}
+
+
+/**
+ * @brief Test to see if the value is valid.
+ *        May spin if another thread is currently updating the value.
+ */
+template <class T>
+inline
+bool CachedValue<T>::isValid() const
+{
+  CacheState stat;
+  // Get the state flag.
+  // Spin if another thread is currently updating.
+  while ((stat = m_cacheValid) == UPDATING) ;
+  return stat == VALID;
+}
+
+
+/**
+ * @brief Return a pointer to the cached value.
+ *        Should not be called unless isValid() has returned true.
+ */
+template <class T>
+inline
+const T* CachedValue<T>::ptr() const
+{
+  return &m_val;
+}
+
+
+/**
+ * @brief Store a new value to the value.
+ */
+template <class T>
+inline
+void CachedValue<T>::store (const T& val)
+{
+  m_cacheValid = VALID;
+  m_val = val;
+}
+
+/**
+ * @brief Store a new value to the value, by move.
+ */
+template <class T>
+inline
+void CachedValue<T>::store (T&& val)
+{
+  m_cacheValid = VALID;
+  m_val = std::move (val);
+}
+
+/**
+ * @brief Reset the value to invalid.
+ */
+template <class T>
+inline
+void CachedValue<T>::reset()
+{
+  m_cacheValid = INVALID;
+}
+
+
+} // namespace CxxUtils
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentBitset.h b/Control/CxxUtils/CxxUtils/ConcurrentBitset.h
new file mode 100644
index 00000000000..141291cbfd4
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/ConcurrentBitset.h
@@ -0,0 +1,1040 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/ConcurrentBitset.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Variable-sized bitset allowing (mostly) concurrent access.
+ */
+
+
+#ifndef CXXUTILS_CONCURRENTBITSET_H
+#define CXXUTILS_CONCURRENTBITSET_H
+
+
+#include "CxxUtils/atomic_fetch_minmax.h"
+#include "CxxUtils/bitscan.h"
+#include "CxxUtils/ones.h"
+#include <climits>
+#include <vector>
+#include <algorithm>
+#include <iterator>
+#include <atomic>
+#include <mutex>
+#include <memory>
+#include <type_traits>
+#include <cstddef>
+
+
+namespace CxxUtils {
+
+
+/**
+ * @brief Variable-sized bitset allowing (mostly) concurrent access.
+ *
+ * This class represents a set of bits.  One can think of such an object as either
+ * like a std::bitset or like a std::set<unsigned>.  This class provides
+ * basically the union of the two interfaces.  In a few cases, the same method
+ * has different semantics in the two interfaces, most notably @c size().
+ * We follow here the semantics that we would get from std::set<unsigned>.
+ * (Rationale: The motivation for this class is to replace the existing use
+ * of unordered_set<unsigned> for auxid_set_t.  Supplying the same interface
+ * makes this easier to drop in as a replacement.  However, in some cases,
+ * the set operations as provided by a bitset-like interface can be much more
+ * efficient, so we'd want to provide those as well.)
+ *
+ * The size of the bitset is specified at runtime, to the constructor.  Most operations
+ * do not change the size.  However, the @c insert() methods, as well as @c operator=,
+ * may be used to grow the size of the set.
+ *
+ * Most methods can execute completely concurrently.  However, the methods which
+ * can change the size of the container, @c insert() and @c operator=, are not
+ * compatible with other concurrent writes.  (Concurrent reads are ok, though.)
+ *
+ * Some methods can operate on the entire set (e.g., @c clear()).  Such methods
+ * may run concurrently with others, but they will not necessarily be atomic:
+ * other threads may be able to see the operation partially completed.
+ *
+ * An iterator is provided that iterates over all bits that are set (like iterating
+ * over a set<unsigned>).
+ *
+ * When the container is expanded, the internal representation needs to be reallocated.
+ * The old object is not, however, deleted immediately, as other threads may
+ * still be referencing it.  If if some point you know that no threads can be
+ * referencing old versions any more, you can clean them up by calling @c emptyGarbage
+ * (otherwise, all versions will be deleted when the set object is destroyed).
+ *
+ * Some notes on motivation:
+ *
+ * The use case that motivated this class was auxid_set_t, which tells which
+ * auxiliary variables are available for a given container.  This is logically
+ * a relatively sparse set of relatively small integers.  (Maximum value is ~2000,
+ * with a set having ~100 entries.)
+ *
+ * This had been implemented as a std::unordered_set<size_t>, but this was
+ * not entirely satisfactory.  First, in some cases, there was a significant overhead
+ * in inserting and deleting items from the set.  Second, unordered_set does not
+ * allow concurrent reading and writing.  This meant that we ended up maintaining
+ * thread-local copies of each set, which adds extra overhead and complexity.
+ *
+ * The threading issue suggests that we would like to use a container that allows
+ * readers to run currently with at least one writer.  The fact that the maximum
+ * value to be stored in these sets is not too large suggests that a bitmap
+ * might be a good representation, as long as the time required to iterate
+ * over the set doesn't blow up due to the sparseness of the map.
+ *
+ * To study this, a reconstruction job was instrumented to dump out all unique
+ * auxid_set_t values.  This corpus was then used to run a set of timing tests
+ * for different set implementations.  This test is built into the ConcurrentBitset
+ * unit test, and the corpus is available in the CxxUtils package.  Run like:
+ *
+ *@code
+ *   .../ConcurrentBitset_test.exe --perf .../CxxUtils/share/auxids.uniq 
+ @endcode
+ *
+ * Set implementations that have been tested so far include:
+ *  - std::set
+ *  - std::unordered_set
+ *  - concurrent_unordered_set, from TBB
+ *  - ck_hs, from ConcurrencyKit
+ *  - ck_bitmap, from ConcurrencyKit
+ *  - ConcurrentBitset
+ *
+ * Representative results (times in seconds; lower is better):
+ *
+ *@code
+ *  |--------------------------+------+------+---------+--------|
+ *  |                          | fill | copy | iterate | lookup |
+ *  |--------------------------+------+------+---------+--------|
+ *  | set                      | 0.92 | 0.66 |   10.95 |   0.53 |
+ *  | unordered_set            | 1.63 | 0.93 |    6.56 |   0.50 |
+ *  | concurrent_unordered_set | 1.79 | 1.70 |    9.55 |   1.20 |
+ *  | ck_hs                    | 0.78 | 0.83 |   18.92 |   0.88 |
+ *  | ck_bitmap                | 0.13 | 0.21 |    5.52 |   0.05 |
+ *  | ConcurrentBitset         | 0.31 | 0.06 |    4.48 |   0.08 |
+ *  |--------------------------+------+------+---------+--------|
+ @endcode
+ *
+ * For this workload, the bitmaps are the clear winner.
+ *
+ * Implementation notes:
+ *
+ * The implementation here is inspired by ck_bitmap from ConcurrencyKit
+ * (http://concurrencykit.org/), though the code is all new.
+ * ck_bitmap itself isn't suitable because it doesn't allow for the set to grow,
+ * and also because it's a pure C interface, while we want something with
+ * a C++ style interface (and in particular something which supports interfaces
+ * close to unordered_set<size_t> in order to ease migration).
+ *
+ * The bitset is stored as an array of std::atomic<Block_t> objects, where Block_t
+ * is the largest unsigned type for which atomic is lockless.  This is stored
+ * in a separate implementation object in order to allow the container to grow.
+ * The implementation object has a fixed-size header followed by the variable-size
+ * array of blocks.
+ *
+ * To speed up iteration for the typical case of a sparse set, we maintain
+ * a `high-water' mark, m_hwm, which is the index of the highest block that
+ * might have a bit set.  m_hwm can only increase unless the set is cleared.
+ */
+class ConcurrentBitset
+{
+private:
+  // Forward declaration of implementation class.
+  class Impl;
+
+  /// Internal type used to hold the bitset data.
+  /// The bitset is an array of std::atomic<Block_t>.
+  /// This type should generally be the largest unsigned type for which
+  /// std::atomic is lockless.
+  typedef unsigned long Block_t;
+
+  /// Size, in bits, of @c Block_t.
+  static const size_t BLOCKSIZE = sizeof(Block_t) * CHAR_BIT;
+
+  /// Mask to select out the bit offset within one @Block_t.
+  static const size_t MASK = BLOCKSIZE-1;
+
+
+#if __cplusplus >= 201700
+  static_assert (std::atomic<Block_t>::is_always_lock_free);
+#else
+# if ATOMIC_LONG_LOCK_FREE != 2
+#  error Code assumes std::atomic<unsigned long> is lock free.
+# endif
+#endif  
+
+
+public:
+  /// A bit number.
+  typedef size_t bit_t;
+
+
+  //========================================================================
+  /** @name Constructors, destructors, assignment. */
+  //@{
+
+
+  /**
+   * @brief Constructor.
+   * @param nbits Initial number of bits to allocate for the map.
+   */
+  ConcurrentBitset (bit_t nbits = 0);
+
+
+  /**
+   * @brief Copy constructor.
+   * @param other Container to copy.
+   *
+   * The copy is not atomic.  If a non-atomic update is simultaneously made
+   * to @c other, then the copy may have this update only partially completed.
+   */
+  ConcurrentBitset (const ConcurrentBitset& other);
+
+
+  /**
+   * @brief Constructor from an initializer list.
+   * @param List of values to set.
+   * @param nbits Number of bits to allocate for the map.
+   *              If 0, then set the size based on the maximum value in the list.
+   *
+   * This allows setting specific bits in the set, like
+   *@code
+   *  ConcurrentBitset bs { 1, 5, 10};
+   @endcode
+  */
+  ConcurrentBitset (std::initializer_list<bit_t> l, bit_t nbits = 0);
+
+
+  /**
+   * @brief Destructor.
+   */
+  ~ConcurrentBitset();
+
+
+  /**
+   * @brief Assignment.
+   * @param other Bitset from which to assign.
+   *
+   * The copy is not atomic.  If a non-atomic update is simultaneously made
+   * to @c other, then the copy may have this update only partially completed.
+   */
+  ConcurrentBitset& operator= (const ConcurrentBitset& other);
+
+
+  /**
+   * @brief Clean up old versions of the set.
+   *
+   * The insert and assignment operations may need to grow the set.
+   * The original version of the set is not deleted immediately, since other threads
+   * may still be accessing it.  Call this when no other threads can be accessing
+   * old versions in order to clean them up.
+   */
+  void emptyGarbage();
+
+
+  //@}
+  //========================================================================
+  /** @name Size, bit testing */
+  //@{
+
+
+  /**
+   * @brief The number of bits that this container can hold.
+   */
+  bit_t capacity() const;
+
+
+  /**
+   * @brief Count the number of 1 bits in the set.
+   */
+  bit_t count() const;
+
+
+  /**
+   * @brief Count the number of 1 bits in the set.
+   *
+   * Note: If you regard this like a std::bitset, you would expect this to return
+   * the number of bits that the set can hold, while if you regard this like
+   * a set<bit_t>, then you would expect this to return the number of 1 bits.
+   * We follow the latter here.
+   */
+  bit_t size() const;
+
+
+  /**
+   * @brief Test to see if a bit is set.
+   * @param bit Number of the bit to test.
+   * @return true if the bit is set; false otherwise.
+   *
+   * Returns false if @c bit is beyond the end of the set.
+   */
+  bool test (bit_t bit) const;
+
+
+  /**
+   * @brief Test to see if a bit is set.
+   * @param bit Number of the bit to test.
+   * @return 1 if the bit is set; 0 otherwise.
+   *
+   * Returns 0 if @c bit is beyond the end of the set.
+   */
+  size_t count (bit_t bit) const;
+
+
+  /**
+   * @brief Return true if there are no 1 bits in the set.
+   */
+  bool empty() const;
+
+
+  /**
+   * @brief Return true if there are no 1 bits in the set.
+   */
+  bool none() const;
+
+
+  /**
+   * @brief Return true if all bits in the set are 1.
+   */
+  bool all() const;
+
+
+  /**
+   * @brief Return true if there are any 1 bits in the set.
+   */
+  bool any() const;
+
+
+  //@}
+  //========================================================================
+  /** @name Single-bit manipulation. */
+  //@{
+
+
+  /**
+   * @brief Turn on one bit.
+   * @param bit The bit to turn on.
+   *
+   * Does nothing if @c bit beyond the end of the set.
+   */
+  ConcurrentBitset& set (bit_t bit);
+
+
+  /**
+   * @brief Turn off one bit.
+   * @param bit The bit to turn off.
+   *
+   * Does nothing if @c bit beyond the end of the set.
+   */
+  ConcurrentBitset& reset (bit_t bit);
+
+
+  /**
+   * @brief Turn off one bit.
+   * @param bit The bit to turn off.
+   *
+   * Does nothing if @c bit beyond the end of the set.
+   */
+  ConcurrentBitset& erase (bit_t bit);
+
+
+  /**
+   * @brief Flip the value of one bit.
+   * @param bit The bit to turn flip.
+   *
+   * Does nothing if @c bit beyond the end of the set.
+   */
+  ConcurrentBitset& flip (bit_t bit);
+
+
+  /**
+   * @brief Set the value of one bit.
+   * @param bit The bit to turn set.
+   * @param val The value to which to set it.
+   *
+   * Does nothing if @c bit beyond the end of the set.
+   */
+  ConcurrentBitset& set (bit_t bit, bool val);
+
+
+  //@}
+  //========================================================================
+  /** @name Set operations. */
+  //@{
+
+
+  /**
+   * @brief Clear all bits in the set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& clear();
+
+
+  /**
+   * @brief Clear all bits in the set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& reset();
+
+
+  /**
+   * @brief Turn on all bits in the set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& set();
+
+
+  /**
+   * @brief Flip the state of all bits in the set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& flip();
+
+
+  /**
+   * @brief AND this set with another set.
+   * @param other The other set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& operator&= (const ConcurrentBitset& other);
+
+
+  /**
+   * @brief OR this set with another set.
+   * @param other The other set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& operator|= (const ConcurrentBitset& other);
+
+  
+  /**
+   * @brief XOR this set with another set.
+   * @param other The other set.
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& operator^= (const ConcurrentBitset& other);
+
+
+  /**
+   * @brief Subtract another set from this set.
+   * @param other The other set.
+   *
+   * This is the same as (*this) &= ~other;
+   *
+   * This operation is not necessarily atomic; a simultaneous read may be able
+   * to see the operation partially done.
+   */
+  ConcurrentBitset& operator-= (const ConcurrentBitset& other);
+
+
+  /**
+   * @brief Return a new set that is the complement of this set.
+   */
+  ConcurrentBitset operator~() const;
+
+
+  //@}
+  //========================================================================
+  /** @name Comparison. */
+  //@{
+
+
+  /**
+   * @brief Test two sets for equality.
+   * @param other The other set to test.
+   */
+  bool operator== (const ConcurrentBitset& other) const;
+
+
+  /**
+   * @brief Test two sets for inequality.
+   * @param other The other set to test.
+   */
+  bool operator!= (const ConcurrentBitset& other) const;
+
+
+  //@}
+  //========================================================================
+  /** @name Insert. */
+  //@{
+
+
+  /**
+   * @brief Set a bit to 1.  Expand the set if needed.
+   * @param bit Number of the bit to set.
+   * @param new_nbits Hint for new size of set, if it needs to be expanded.
+   *
+   * If @c bit is past the end of the container, then the container will be
+   * expanded as needed.
+   *
+   * This operation is incompatible with any other simultaneous writes
+   * to the same set (reads are ok).
+   */
+  ConcurrentBitset& insert (bit_t bit, bit_t new_nbits = 0);
+
+
+  /**
+   * @brief Set several bits to 1.  Expand the set if needed.
+   * @param beg Start of range of bits to set.
+   * @param end End of range of bits to set.
+   * @param new_nbits Hint for new size of set, if it needs to be expanded.
+   *
+   * The iteration range should be over something convertible to @c bit_t.
+   * If any bit is past the end of the container, then the container will be
+   * expanded as needed.
+   *
+   * This operation is incompatible with any other simultaneous writes
+   * to the same set (reads are ok).
+   *
+   * Example:
+   *@code
+   *  std::vector<bit_t> bits { 4, 10, 12};
+   *  CxxUtils::ConcurrentBitset bs = ...;
+   *  bs.insert (bits.begin(), bits.end());
+   @endcode
+   */
+  // The enable_if is needed to keep this something like
+  //    bs.insert (1, 2)
+  // from matching this overload.
+  template <class ITERATOR,
+            typename = typename std::enable_if<
+              std::is_base_of<
+                typename std::forward_iterator_tag,
+                typename std::iterator_traits<ITERATOR>::iterator_category
+                >::value> >
+  ConcurrentBitset& insert (ITERATOR beg, ITERATOR end, bit_t new_nbits = 0);
+
+
+  /**
+   * @brief Set several bits to 1.  Expand the set if needed.
+   * @param l List of bits to set.
+   * @param new_nbits Hint for new size of set, if it needs to be expanded.
+   *
+   * If any bit is past the end of the container, then the container will be
+   * expanded as needed.
+   *
+   * This operation is incompatible with any other simultaneous writes
+   * to the same set (reads are ok).
+   *
+   * Example:
+   *@code
+   *  std::vector<bit_t> bits { 4, 10, 12};
+   *  bs.insert ({4, 10, 12});
+   @endcode
+   */
+  ConcurrentBitset& insert (std::initializer_list<bit_t> l, bit_t new_nbits = 0);
+
+
+  /**
+   * @brief Turn on bits listed in another set.
+   * @param other Set of bits to turn on.
+   *
+   * This is the same as @c operator|=, except that if the size of @c other is
+   * larger than this set, then this set will be expanded to match @c other.
+   *
+   * This operation is incompatible with any other simultaneous writes
+   * to the same set (reads are ok).
+   */
+  ConcurrentBitset& insert (const ConcurrentBitset& other);
+
+  
+  //@}
+  //========================================================================
+  /** @name Array-like element access. */
+  //@{
+
+
+  /**
+   * @brief A reference to one bit in a set.
+   *
+   * These references are invalidated by calls to insert() or operator=.
+   */
+  class reference
+  {
+  private:
+    friend class ConcurrentBitset;
+
+
+    /**
+     * @brief Constructor.
+     * @param impl ConcurrentBitset implementation object.
+     * @param bit Bit number to which this reference refers.
+     */
+    reference (Impl& impl, bit_t bit);
+
+
+  public:
+    /**
+     * @brief Set the referenced bit to a given value.
+     * @param val Value to which to set the referenced bit.
+     */
+    reference& operator= (bool val) noexcept;
+
+
+    /**
+     * @brief Copy the value of another referenced bit.
+     * @param r The other reference.
+     *
+     * To allow:
+     *@code
+     * ConcurrentBitset& bs1 = ...;
+     * ConcurrentBitset& bs2 = ...;
+     * bs1[1] = bs2[1];
+     @endcode
+    */
+    reference& operator= (const reference& r) noexcept;
+
+
+    /**
+     * @brief Return the value of the referenced bit.
+     */
+    operator bool() const noexcept;
+
+
+    /**
+     * @brief Return the complement of the value of the referenced bit.
+     */
+    bool operator~() const noexcept;
+
+
+    /**
+     * @brief Invert the referenced bit.
+     */
+    reference& flip() noexcept;
+
+
+  private:
+    /// Pointer to the block containing the referenced bit.
+    std::atomic<Block_t>* m_block;
+
+    /// Mask of the referenced bit within the block.
+    Block_t m_mask;
+  };
+
+
+  /**
+   * @brief Return the value of one bit.
+   * @param bit The number of the bit to test.
+   */
+  bool operator[] (bit_t bit) const;
+  
+
+  /**
+   * @brief Return a reference to one bit.
+   * @param bit The number of the bit to reference.
+   *
+   * The reference will be invalidated by calls to @c insert() or @c operator=.
+   * Effects are undefined if @c bit is past the end of the set.
+   */
+  reference operator[] (bit_t bit);
+
+  
+  //@}
+  //========================================================================
+  /** @name Iterator operations. */
+  //@{
+
+
+  /**
+   * @brief Iterator over all 1 bits in the set.
+   *
+   * This iterator will visit all 1 bits in the set (that is, it works
+   * like the iterator for a set<bit_t>).  The state of an iterator consists of:
+   *
+   *   - m_bit -- The number of the current bit we're referencing.
+   *   - m_data -- Pointer to the current block we're referencing.
+   *   - m_cache -- Cached value of the current block.  This is shifted such that
+   *                the referenced bit has just fallen off the right.
+   *   - m_end -- Pointer to one past the last block we should consider
+   *              in the iteration.  (This may be less than the full size
+   *              of the set if we know that the end of the set is all 0's.
+   *              This is tracked by Impl::m_hwm.)
+   *
+   * The end iterator is marked by setting m_bit to -1; none of the other fields
+   * matter in that case.  Thus, we can compare iterators by simply comparing m_bit.
+   *
+   * To initialize an iterator in begin(), we set the iterator to point to the
+   * block preceding the first block of the set, with the cache set to 0.
+   * We can then use the increment operator to advance the iterator to the
+   * first 1 bit.
+   */
+  struct const_iterator
+  {
+    typedef std::forward_iterator_tag iterator_category;
+    typedef size_t value_type;
+    typedef ptrdiff_t difference_type;
+    typedef const value_type* pointer;
+    typedef const value_type& reference;
+
+
+  private:
+    friend ConcurrentBitset;
+
+
+    /**
+     * @brief Constructor.
+     * @param cache Cached block at the current iteration point, shifted such
+     *              that bit number @c bit has just been shifted off the right.
+     * @param bit Bit number the at which the iterator is currently pointing.
+     * @param data Pointer to the block at which the iterator is currently pointing.
+     * @param end One past the last block of the iteration range.
+     */
+    const_iterator (Block_t cache,
+                    bit_t bit,
+                    const std::atomic<Block_t>* data,
+                    const std::atomic<Block_t>* end);
+
+
+  public:
+    /**
+     * @brief Return the bit number which the iterator is currently referencing.
+     */
+    bit_t operator*() const;
+
+
+    /**
+     * @brief Advance the iterator to the next set bit (preincrement).
+     */
+    const_iterator& operator++();
+
+
+    /**
+     * @brief Advance the iterator to the next set bit (postincrement).
+     */
+    const_iterator operator++(int);
+
+
+    /**
+     * @brief Compare two iterators.
+     * @param other The other iterator to compare.
+     */
+    bool operator== (const const_iterator& other) const;
+
+
+    /**
+     * @brief Compare two iterators.
+     * @param other The other iterator to compare.
+     */
+    bool operator!= (const const_iterator& other) const;
+
+
+  private:
+    /// Cache of the block to which we're currently pointing.
+    /// Should be shifted such that the bit we're referencing has just
+    /// been shifted off the right.
+    Block_t m_cache;
+
+    /// Bit number which we're currently referencing.
+    bit_t m_bit;
+
+    /// Pointer to the block containing the bit which we're currently referencing.
+    const std::atomic<Block_t>* m_data;
+
+
+    /// Pointer to one past the last block in the set.
+    const std::atomic<Block_t>* m_end;
+  };
+
+
+  /**
+   * @brief Return a begin iterator.
+   */
+  const_iterator begin() const;
+
+
+  /**
+   * @brief Return an end iterator.
+   */
+  const_iterator end() const;
+
+
+  /**
+   * @brief If bit @c bit is set, return an iterator pointing to it.
+   *        Otherwise, return an end iterator.
+   * @param bit Bit number to test.
+   */
+  const_iterator find (bit_t bit) const;
+
+
+
+  //@}
+private:
+  //========================================================================
+  /** @name Implementation. */
+  //@{
+
+
+  /**
+   * @brief Find number of blocks needed to hold a given number of bits.
+   * @param nbits The number of bits.
+   */
+  static bit_t nBlocks (bit_t nbits);
+
+
+  /**
+   * @brief Create a new, uninitialized implementation object.
+   * @param nbits Number of bits to allocate.
+   *
+   * This will allocate memory for the Impl object,
+   * but will does not run the constructor.
+   */
+  Impl* newImpl (bit_t nbits);
+
+
+  /**
+   * @brief Expand the container.
+   * @param new_nbits The desired new size of the container.
+   */
+  void expand (bit_t new_nbits);
+
+
+  /**
+   * @brief Expand the container: out-of-line portion.
+   * @param new_nbits The desired new size of the container.
+   */
+  void expandOol (bit_t new_nbits);
+
+
+  /**
+   * @brief Implementation object.
+   *
+   * An instance of this holds the set data for a fixed size.
+   * If the set needs to be expanded, a new implementation object must be allocated
+   * and the data copied.
+   *
+   * This object consists of a fixed header, followed by a variable-sized array
+   * containing the actual set data.  In this class, the array is declared with
+   * a size of 1; however, we allocate these objects (using the @c newImpl function)
+   * with enough space to hold the entire set.
+   *
+   * This class also contains the basic methods for operating on the set.
+   */
+  class Impl
+  {
+  public:
+    /**
+     * @brief Constructor.
+     * @param nbits Number of bits in the set.
+     */
+    Impl (bit_t nbits);
+
+
+    /**
+     * @brief Copy constructor.
+     * @brief Other object to copy.
+     * @brief Number of bits to use for this container.
+     *
+     * If @c nbits is smaller than the size of @c other, then the size of @c other
+     * will be used instead.
+     */
+    Impl (const Impl& other, bit_t nbits = 0);
+
+
+    /**
+     * @brief Copy from another instance.
+     * @param other Object from which to copy.
+     *
+     * This does not change the size of the container.
+     * If This container is larger than @c other, then the remainder will be
+     * filled with zeros.  If @c other is larger than this container, then the
+     * remainder will be ignored.
+     */
+    void assign (const Impl& other);
+
+
+    /** 
+     * @brief Return the number of bits in the set.
+     */
+    bit_t nbits() const;
+
+
+    /**
+     * @brief Test to see if a bit is set.
+     * @param bit Number of the bit to test.
+     * @return true if the bit is set; false otherwise.
+     *
+     * Returns false if @c bit is beyond the end of the set.
+     */
+    bool test (bit_t bit) const;
+
+
+    /**
+     * @brief Count the number of 1 bits in the set.
+     */
+    bit_t count() const;
+
+
+    /**
+     * @brief Return true if there are no 1 bits in the set.
+     */
+    bool none() const;
+
+    
+    /**
+     * @brief Return true if all bits in the set are 1.
+     */
+    bool all() const;
+
+
+    /**
+     * @brief Return a pointer to the block containing @c bit.
+     * @param bit Desired bit number.
+     *
+     * Returns nullptr if @c bit is past the end of the set.
+     */
+    std::atomic<Block_t>* block (bit_t bit);
+
+
+    /**
+     * @brief Turn on one bit.
+     * @param bit The bit to turn on.
+     *
+     * Does nothing if @c bit beyond the end of the set.
+     */
+    void set (bit_t bit);
+
+    
+    /**
+     * @brief Turn off one bit.
+     * @param bit The bit to turn off.
+     *
+     * Does nothing if @c bit beyond the end of the set.
+     */
+    void reset (bit_t bit);
+
+
+    /**
+     * @brief Flip the value of one bit.
+     * @param bit The bit to turn flip.
+     *
+     * Does nothing if @c bit beyond the end of the set.
+     */
+    void flip (bit_t bit);
+
+
+    /**
+     * @brief Clear all bits in the set.
+     *
+     * This operation is not necessarily atomic; a simultaneous read may be able
+     * to see the operation partially done.
+     */
+    void clear();
+
+
+    /**
+     * @brief Turn on all bits in the set.
+     *
+     * This operation is not necessarily atomic; a simultaneous read may be able
+     * to see the operation partially done.
+     */
+    void set();
+
+
+    /**
+     * @brief Flip the state of all bits in the set.
+     *
+     * This operation is not necessarily atomic; a simultaneous read may be able
+     * to see the operation partially done.
+     */
+    void flip();
+
+
+    typedef void operator_t (std::atomic<Block_t>& a, Block_t v);
+    /**
+     * @brief Apply a binary operation.
+     * @param op Operation to apply.
+     * @param other Second set for the operation.
+     *
+     * Each block B in this set is replaced by B OP OTHER, where OTHER is
+     * the corresponding block in the other container.  (If this set
+     * is larger than @c other, then the trailing blocks will be 0.)
+     */
+    void operate (operator_t op, const Impl& other);
+
+
+    /**
+     * @brief Compare with another set.
+     * @param other Other set with which to compare.
+     */
+    bool operator== (const Impl& other) const;
+
+
+
+    /**
+     * @brief Return an iterator referencing the first 1 bit.
+     */
+    const_iterator begin() const;
+
+
+    /**
+     * @brief Return the end iterator.
+     */
+    const_iterator end() const;
+
+
+    /**
+     * @brief If bit @c bit is set, return an iterator pointing to it.
+     *        Otherwise, return an end iterator.
+     * @param bit Bit number to test.
+     */
+    const_iterator find (bit_t bit) const;
+
+
+  private:
+    /// Number of bits in the container.
+    size_t m_nbits;
+
+    /// Number of blocks in the container.
+    size_t m_nblocks;
+
+    /// High-water mark: index of last block with a 1 bit.
+    std::atomic<size_t> m_hwm;
+
+    /// The set data.
+    /// The implementation objects are allocated such that there are actually
+    /// m_nblocks entries available in this array.
+    std::atomic<Block_t> m_data[1];
+  };
+
+
+  //@}
+
+
+private:
+  /// The current implementation object.
+  std::atomic<Impl*> m_impl;
+
+  /// Old implementation objects, pending deletion.
+  std::vector<Impl*> m_garbage;
+
+  /// Mutex used for synchronization when switching to a new implementation object.
+  typedef std::mutex mutex_t;
+  typedef std::lock_guard<mutex_t> lock_t;
+  mutex_t m_mutex;
+};
+
+
+} // namespace CxxUtils
+
+
+#include "CxxUtils/ConcurrentBitset.icc"
+
+  
+#endif // not CXXUTILS_CONCURRENTBITSET_H
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentBitset.icc b/Control/CxxUtils/CxxUtils/ConcurrentBitset.icc
new file mode 100644
index 00000000000..1030d3ec9a0
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/ConcurrentBitset.icc
@@ -0,0 +1,1102 @@
+// $Id$
+/**
+ * @file CxxUtils/ConcurrentBitset.icc
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Variable-sized bitset allowing (mostly) concurrent access.
+ */
+
+
+#include "CxxUtils/AthUnlikelyMacros.h"
+
+
+namespace CxxUtils {
+
+
+//*********************************************************************************
+// Constructors, destructors, assignment.
+
+
+/**
+ * @brief The number of bits that this container can hold.
+ */
+inline
+ConcurrentBitset::bit_t ConcurrentBitset::capacity() const
+{
+  return (*m_impl).nbits();
+}
+
+
+/**
+ * @brief Count the number of 1 bits in the set.
+ */
+inline
+ConcurrentBitset::bit_t ConcurrentBitset::count() const
+{
+  return (*m_impl).count();
+}
+
+
+/**
+ * @brief Count the number of 1 bits in the set.
+ *
+ * Note: If you regard this like a std::bitset, you would expect this to return
+ * the number of bits that the set can hold, while if you regard this like
+ * a set<bit_t>, then you would expect this to return the number of 1 bits.
+ * We follow the latter here.
+ */
+inline
+ConcurrentBitset::bit_t ConcurrentBitset::size() const
+{
+  return (*m_impl).count();
+}
+
+
+/**
+ * @brief Test to see if a bit is set.
+ * @param bit Number of the bit to test.
+ * @return true if the bit is set; false otherwise.
+ *
+ * Returns false if @c bit is beyond the end of the set.
+ */
+inline
+bool ConcurrentBitset::test (bit_t bit) const
+{
+  return (*m_impl).test (bit);
+}
+
+/**
+ * @brief Test to see if a bit is set.
+ * @param bit Number of the bit to test.
+ * @return 1 if the bit is set; 0 otherwise.
+ *
+ * Returns 0 if @c bit is beyond the end of the set.
+ */
+inline
+size_t ConcurrentBitset::count (bit_t bit) const
+{
+  return test (bit);
+}
+
+
+/**
+ * @brief Return true if there are no 1 bits in the set.
+ */
+inline
+bool ConcurrentBitset::empty() const
+{
+  return none();
+}
+
+
+/**
+ * @brief Return true if there are no 1 bits in the set.
+ */
+inline
+bool ConcurrentBitset::none() const
+{
+  return (*m_impl).none();
+}
+
+
+/**
+ * @brief Return true if all bits in the set are 1.
+ */
+inline
+bool ConcurrentBitset::all() const
+{
+  return (*m_impl).all();
+}
+
+
+/**
+ * @brief Return true if there are any 1 bits in the set.
+ */
+inline
+bool ConcurrentBitset::any() const
+{
+  return !none();
+}
+
+
+//*********************************************************************************
+// Single-bit manipulation.
+
+
+/**
+ * @brief Turn on one bit.
+ * @param bit The bit to turn on.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::set (bit_t bit)
+{
+  (*m_impl).set (bit);
+  return *this;
+}
+
+
+/**
+ * @brief Turn off one bit.
+ * @param bit The bit to turn off.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::reset (bit_t bit)
+{
+  (*m_impl).reset (bit);
+  return *this;
+}
+
+
+/**
+ * @brief Turn off one bit.
+ * @param bit The bit to turn off.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::erase (bit_t bit)
+{
+  (*m_impl).reset (bit);
+  return *this;
+}
+
+
+/**
+ * @brief Flip the value of one bit.
+ * @param bit The bit to turn flip.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::flip (bit_t bit)
+{
+  (*m_impl).flip (bit);
+  return *this;
+}
+
+
+/**
+ * @brief Set the value of one bit.
+ * @param bit The bit to turn set.
+ * @param val The value to which to set it.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::set (bit_t bit, bool val)
+{
+  if (val) {
+    (*m_impl).set (bit);
+  }
+  else {
+    (*m_impl).reset (bit);
+  }
+  return *this;
+}
+
+
+//*********************************************************************************
+// Set operations.
+
+
+/**
+ * @brief Clear all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::clear()
+{
+  (*m_impl).clear();
+  return *this;
+}
+
+
+/**
+ * @brief Clear all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::reset()
+{
+  (*m_impl).clear();
+  return *this;
+}
+
+
+/**
+ * @brief Turn on all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::set()
+{
+  (*m_impl).set();
+  return *this;
+}
+
+/**
+ * @brief Flip the state of all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::flip()
+{
+  (*m_impl).flip();
+  return *this;
+}
+
+
+/**
+ * @brief AND this set with another set.
+ * @param other The other set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::operator&= (const ConcurrentBitset& other)
+{
+  (*m_impl).operate ([] (std::atomic<Block_t>& a, Block_t v) { a &= v; },
+                     *other.m_impl);
+  return *this;
+}
+
+
+/**
+ * @brief OR this set with another set.
+ * @param other The other set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::operator|= (const ConcurrentBitset& other)
+{
+  (*m_impl).operate ([] (std::atomic<Block_t>& a, Block_t v) { a |= v; },
+                     *other.m_impl);
+  return *this;
+}
+
+  
+/**
+ * @brief XOR this set with another set.
+ * @param other The other set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::operator^= (const ConcurrentBitset& other)
+{
+  (*m_impl).operate ([] (std::atomic<Block_t>& a, Block_t v) { a ^= v; },
+                     *other.m_impl);
+  return *this;
+}
+
+
+/**
+ * @brief Subtract another set from this set.
+ * @param other The other set.
+ *
+ * This is the same as (*this) &= ~other;
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::operator-= (const ConcurrentBitset& other)
+{
+  (*m_impl).operate ([] (std::atomic<Block_t>& a, Block_t v) { a &= ~v; },
+                     *other.m_impl);
+  return *this;
+}
+
+
+/**
+ * @brief Return a new set that is the complement of this set.
+ */
+inline
+ConcurrentBitset ConcurrentBitset::operator~() const
+{
+  ConcurrentBitset b = *this;
+  (*b.m_impl).flip();
+  return b;
+}
+
+
+//*********************************************************************************
+// Comparison.
+
+
+/**
+ * @brief Test two sets for equality.
+ * @param other The other set to test.
+ */
+inline
+bool ConcurrentBitset::operator== (const ConcurrentBitset& other) const
+{
+  return (*m_impl) == (*other.m_impl);
+}
+
+
+/**
+ * @brief Test two sets for inequality.
+ * @param other The other set to test.
+ */
+inline
+bool ConcurrentBitset::operator!= (const ConcurrentBitset& other) const
+{
+  return ! ((*m_impl) == (*other.m_impl));
+}
+
+
+//*********************************************************************************
+// Insert.
+
+
+/**
+ * @brief Set a bit to 1.  Expand the set if needed.
+ * @param bit Number of the bit to set.
+ * @param new_nbits Hint for new size of set, if it needs to be expanded.
+ *
+ * If @c bit is past the end of the container, then the container will be
+ * expanded as needed.
+ *
+ * This operation is incompatible with any other simultaneous writes
+ * to the same set (reads are ok).
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::insert (bit_t bit, bit_t new_nbits /*= 0*/)
+{
+  if (bit >= (*m_impl).nbits()) {
+    if (new_nbits > bit)
+      ;
+    else if (bit < 64)
+      new_nbits = 128;
+    else
+      new_nbits = (bit * 2 + BLOCKSIZE-1) & ~(BLOCKSIZE-1);
+    expand (new_nbits);
+  }
+  set (bit);
+  return *this;
+}
+
+
+/**
+ * @brief Set several bits to 1.  Expand the set if needed.
+ * @param beg Start of range of bits to set.
+ * @param end End of range of bits to set.
+ * @param new_nbits Hint for new size of set, if it needs to be expanded.
+ *
+ * The iteration range should be over something convertible to @c bit_t.
+ * If any bit is past the end of the container, then the container will be
+ * expanded as needed.
+ *
+ * This operation is incompatible with any other simultaneous writes
+ * to the same set (reads are ok).
+ *
+ * Example:
+ *@code
+ *  std::vector<bit_t> bits { 4, 10, 12};
+ *  CxxUtils::ConcurrentBitset bs = ...;
+ *  bs.insert (bits.begin(), bits.end());
+ @endcode
+*/
+template <class ITERATOR,
+          typename /*= typename std::enable_if<
+            std::is_base_of<
+              typename std::forward_iterator_tag,
+              typename std::iterator_traits<ITERATOR>::iterator_category
+              >::value>*/ >
+inline
+ConcurrentBitset&
+ConcurrentBitset::insert (ITERATOR beg, ITERATOR end, bit_t new_nbits /*= 0*/)
+{
+  for (; beg != end; ++beg) {
+    insert (*beg, new_nbits);
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Set several bits to 1.  Expand the set if needed.
+ * @param l List of bits to set.
+ * @param new_nbits Hint for new size of set, if it needs to be expanded.
+ *
+ * If any bit is past the end of the container, then the container will be
+ * expanded as needed.
+ *
+ * This operation is incompatible with any other simultaneous writes
+ * to the same set (reads are ok).
+ *
+ * Example:
+ *@code
+ *  std::vector<bit_t> bits { 4, 10, 12};
+ *  bs.insert ({4, 10, 12});
+ @endcode
+*/
+inline
+ConcurrentBitset&
+ConcurrentBitset::insert (std::initializer_list<bit_t> l, bit_t new_nbits /*= 0*/)
+{
+  auto max_it = std::max_element (l.begin(), l.end());
+  size_t bmax = max_it == l.end() ? 0 : *max_it + 1;
+  if (new_nbits > bmax) new_nbits = bmax;
+  expand (bmax);
+  for (size_t x : l) {
+    set (x);
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Turn on bits listed in another set.
+ * @param other Set of bits to turn on.
+ *
+ * This is the same as @c operator|=, except that if the size of @c other is
+ * larger than this set, then this set will be expanded to match @c other.
+ *
+ * This operation is incompatible with any other simultaneous writes
+ * to the same set (reads are ok).
+ */
+inline
+ConcurrentBitset& ConcurrentBitset::insert (const ConcurrentBitset& other)
+{
+  const Impl* otherImpl = other.m_impl;
+  expand (otherImpl->nbits());
+  (*m_impl).operate ([] (std::atomic<Block_t>& a, Block_t v) { a |= v; },
+                     *otherImpl);
+  return *this;
+}
+
+
+//*********************************************************************************
+// Array-like element access.
+
+
+/**
+ * @brief Constructor.
+ * @param impl ConcurrentBitset implementation object.
+ * @param bit Bit number to which this reference refers.
+ */
+inline
+ConcurrentBitset::reference::reference (Impl& impl, bit_t bit)
+  : m_block (impl.block(bit)),
+    m_mask (1UL << (bit&MASK))
+{
+}
+
+
+/**
+ * @brief Set the referenced bit to a given value.
+ * @param val Value to which to set the referenced bit.
+ */
+inline
+ConcurrentBitset::reference&
+ConcurrentBitset::reference::operator= (bool val) noexcept
+{
+  if (val)
+    *m_block |= m_mask;
+  else
+    *m_block &= ~m_mask;
+  return *this;
+}
+
+
+/**
+ * @brief Copy the value of another referenced bit.
+ * @param r The other reference.
+ *
+ * To allow:
+ *@code
+ * ConcurrentBitset& bs1 = ...;
+ * ConcurrentBitset& bs2 = ...;
+ * bs1[1] = bs2[1];
+ @endcode
+*/
+inline
+ConcurrentBitset::reference&
+ConcurrentBitset::reference::operator= (const reference& r) noexcept
+{
+  if (this != &r) {
+    *this = static_cast<bool> (r);
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Return the value of the referenced bit.
+ */
+inline
+ConcurrentBitset::reference::operator bool() const noexcept
+{
+  return (*m_block & m_mask) != 0;
+}
+
+
+/**
+ * @brief Return the complement of the value of the referenced bit.
+ */
+inline
+bool ConcurrentBitset::reference::operator~() const noexcept
+{
+  return (*m_block & m_mask) == 0;
+}
+
+
+/**
+ * @brief Invert the referenced bit.
+ */
+inline
+ConcurrentBitset::reference&
+ConcurrentBitset::reference::flip() noexcept
+{
+  *m_block ^= m_mask;
+  return *this;
+}
+
+
+/**
+ * @brief Return the value of one bit.
+ * @param bit The number of the bit to test.
+ */
+inline
+bool ConcurrentBitset::operator[] (bit_t bit) const
+{
+  return (*m_impl).test (bit);
+}
+  
+
+/**
+ * @brief Return a reference to one bit.
+ * @param bit The number of the bit to reference.
+ *
+ * The reference will be invalidated by calls to @c insert() or @c operator=.
+ * Effects are undefined if @c bit is past the end of the set.
+ */
+inline
+ConcurrentBitset::reference ConcurrentBitset::operator[] (bit_t bit)
+{
+  return reference (*m_impl, bit);
+}
+
+
+//*********************************************************************************
+// Iterator operations.
+
+
+/**
+ * @brief Constructor.
+ * @param cache Cached block at the current iteration point, shifted such
+ *              that bit number @c bit has just been shifted off the right.
+ * @param bit Bit number the at which the iterator is currently pointing.
+ * @param data Pointer to the block at which the iterator is currently pointing.
+ * @param end One past the last block of the iteration range.
+ */
+inline
+ConcurrentBitset::const_iterator::const_iterator (Block_t cache,
+                                                  bit_t bit,
+                                                  const std::atomic<Block_t>* data,
+                                                  const std::atomic<Block_t>* end)
+  : m_cache (cache), m_bit (bit), m_data(data), m_end (end)
+{
+}
+
+
+/**
+ * @brief Return the bit number which the iterator is currently referencing.
+ */
+inline
+ConcurrentBitset::bit_t
+ConcurrentBitset::const_iterator::operator*() const
+{
+  return m_bit;
+}
+
+
+/**
+ * @brief Advance the iterator to the next set bit.
+ */
+inline
+ConcurrentBitset::const_iterator&
+ConcurrentBitset::const_iterator::operator++()
+{
+  // Are there any more bits set in this block?
+  Block_t cache = m_cache;
+  if (ATH_LIKELY (cache != 0)) {
+    // Yes --- find the first set bit.
+    // Shift until that bit just falls off the right and adjust
+    // the current position.
+    // We know that @c b will be less than @c BLOCKSIZE
+    // (avoiding undefined behavior), since at least one bit must have
+    // already been shifted off of the cache.
+    int b = CxxUtils::count_trailing_zeros (cache)+1;
+    m_bit += b;
+    m_cache = cache >> b;
+  }
+  else {
+    // No, move to the next block.
+    // Bit number at the start of the next block.
+    unsigned int bit = (m_bit + BLOCKSIZE) & ~MASK;
+
+    // Pointers to the next block, and the end of iteration.
+    const std::atomic<Block_t>* data = m_data + 1;
+    const std::atomic<Block_t>* end = m_end;
+
+    // Iterate until we find a block with at least one bit set.
+    while (data < end) {
+      // Read the current block, tests to see if there are any set bits.
+      cache = *data;
+      if (ATH_UNLIKELY (cache != 0)) {
+        // Found a block with at least one bit set.  Which is the first?
+        int b = CxxUtils::count_trailing_zeros (cache);
+
+        // Adjust the current position.
+        m_bit = bit + b;
+        m_data = data;
+
+        // Shift the bit found off of cache.
+        // Need to to it in two steps, because @c b might be @c BLOCKSIZE-1
+        // (and shifting by @c BLOCKSIZE is undefined).
+        m_cache = (cache>>1) >> b;
+        return *this;
+      }
+
+      // Move to the next block.
+      ++data;
+      bit += BLOCKSIZE;
+    }
+
+    // Reached the end without finding any more bits set.
+    // Mark that we hit the end.
+    m_bit = ~static_cast<bit_t>(0);
+  }
+
+  return *this;
+}
+
+
+/**
+ * @brief Advance the iterator to the next set bit (postincrement).
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::const_iterator::operator++(int)
+{
+  const_iterator tmp = *this;
+  ++*this;
+  return tmp;
+}
+
+
+/**
+ * @brief Compare two iterators.
+ * @param other The other iterator to compare.
+ */
+inline
+bool ConcurrentBitset::const_iterator::operator== (const const_iterator& other) const
+{
+  return m_bit == other.m_bit;
+}
+
+
+/**
+ * @brief Compare two iterators.
+ * @param other The other iterator to compare.
+ */
+inline
+bool ConcurrentBitset::const_iterator::operator!= (const const_iterator& other) const
+{
+  return m_bit != other.m_bit;
+}
+
+
+/**
+ * @brief Return a begin iterator.
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::begin() const
+{
+  return (*m_impl).begin();
+}
+
+
+/**
+ * @brief Return an end iterator.
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::end() const
+{
+  return (*m_impl).end();
+}
+
+
+/**
+ * @brief If bit @c bit is set, return an iterator pointing to it.
+ *        Otherwise, return an end iterator.
+ * @param bit Bit number to test.
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::find (bit_t bit) const
+{
+  return (*m_impl).find(bit);
+}
+
+
+//*********************************************************************************
+// Implementation.
+
+
+/**
+ * @brief Find number of blocks needed to hold a given number of bits.
+ * @param nbits The number of bits.
+ */
+inline
+ConcurrentBitset::bit_t
+ConcurrentBitset::nBlocks (bit_t nbits)
+{
+  return (nbits+BLOCKSIZE-1) / BLOCKSIZE;
+}
+
+
+/**
+ * @brief Create a new, uninitialized implementation object.
+ * @param nbits Number of bits to allocate.
+ *
+ * This will allocate memory for the Impl object,
+ * but will does not run the constructor.
+ */
+inline
+ConcurrentBitset::Impl*
+ConcurrentBitset::newImpl (bit_t nbits)
+{
+  bit_t nblocks = nBlocks (nbits);
+  // The Impl structure contains one Block_t at the end.
+  return reinterpret_cast<Impl*>(malloc (sizeof(Impl) + (nblocks-1)*sizeof(Block_t)));
+}
+
+
+/**
+ * @brief Expand the container.
+ * @param new_nbits The desired new size of the container.
+ */
+inline
+void ConcurrentBitset::expand (bit_t new_nbits)
+{
+  // Check the size of the container.
+  // Call the out-of-line portion if we actually need to expand.
+  if (new_nbits > (*m_impl).nbits()) {
+    expandOol (new_nbits);
+  }
+}
+
+
+/**
+ * @brief Constructor.
+ * @param nbits Number of bits in the set.
+ */
+inline
+ConcurrentBitset::Impl::Impl (bit_t nbits)
+  : m_nbits (nbits),
+    m_nblocks (nBlocks (nbits))
+{
+  // Start with all bits 0.
+  clear();
+}
+
+
+/**
+ * @brief Copy constructor.
+ * @brief Other object to copy.
+ * @brief Number of bits to use for this container.
+ *
+ * If @c nbits is smaller than the size of @c other, then the size of @c other
+ * will be used instead.
+ */
+inline
+ConcurrentBitset::Impl::Impl (const Impl& other, bit_t nbits /*= 0*/)
+  : m_nbits (std::max (other.m_nbits, nbits)),
+    m_nblocks ((m_nbits+BLOCKSIZE-1) / BLOCKSIZE),
+    m_hwm (static_cast<size_t> (other.m_hwm))
+{
+  // Copy, then clear the remainder.
+  // We don't care about the relative ordering, so to this with relaxed
+  // memory ordering, and add a barrier at the end.
+  for (bit_t i=0; i < other.m_nblocks; i++) {
+    m_data[i].store (other.m_data[i].load(std::memory_order_relaxed),
+                     std::memory_order_relaxed);
+  }
+  for (bit_t i=other.m_nblocks; i < m_nblocks; i++) {
+    m_data[i].store (0, std::memory_order_relaxed);
+  }
+  std::atomic_thread_fence (std::memory_order_seq_cst);
+}
+
+
+/**
+ * @brief Copy from another instance.
+ * @param other Object from which to copy.
+ *
+ * This does not change the size of the container.
+ * If This container is larger than @c other, then the remainder will be
+ * filled with zeros.  If @c other is larger than this container, then the
+ * remainder will be ignored.
+ */
+inline
+void ConcurrentBitset::Impl::assign (const Impl& other)
+{
+  // Copy, then clear the remainder.
+  // We don't care about the relative ordering, so to this with relaxed
+  // memory ordering, and add a barrier at the end.
+  bit_t ncopy = std::min (m_nblocks, other.m_nblocks);
+  for (bit_t i=0; i < ncopy; i++) {
+    m_data[i].store (other.m_data[i].load(std::memory_order_relaxed),
+                     std::memory_order_relaxed);
+  }
+  for (bit_t i=ncopy; i < m_nblocks; i++) {
+    m_data[i].store (0, std::memory_order_relaxed);
+  }
+  std::atomic_thread_fence (std::memory_order_seq_cst);
+
+  // Copy hwm last.  It can only increase, so as long as we're after the barrier,
+  // we should get something that's correct.
+  m_hwm = static_cast<bit_t> (other.m_hwm);
+}
+
+
+/** 
+ * @brief Return the number of bits in the set.
+ */
+inline
+ConcurrentBitset::bit_t ConcurrentBitset::Impl::nbits() const
+{
+  return m_nbits;
+}
+
+
+/**
+ * @brief Test to see if a bit is set.
+ * @param bit Number of the bit to test.
+ * @return true if the bit is set; false otherwise.
+ *
+ * Returns false if @c bit is beyond the end of the set.
+ */
+inline
+bool ConcurrentBitset::Impl::test (bit_t bit) const
+{
+  if (bit >= m_nbits) return false;
+  bit_t pos = bit / BLOCKSIZE;
+  return (m_data[pos] & (1UL<<(bit&MASK))) != 0;
+}
+
+
+/**
+ * @brief Return a pointer to the block containing @c bit.
+ * @param bit Desired bit number.
+ *
+ * Returns nullptr if @c bit is past the end of the set.
+ */
+inline
+std::atomic<ConcurrentBitset::Block_t>*
+ConcurrentBitset::Impl::block (bit_t bit)
+{
+  if (bit >= m_nbits) return nullptr;
+  bit_t pos = bit / BLOCKSIZE;
+  return &m_data[pos];
+}
+
+
+/**
+ * @brief Turn on one bit.
+ * @param bit The bit to turn on.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+void ConcurrentBitset::Impl::set (bit_t bit)
+{
+  if (bit >= m_nbits) return;
+  bit_t pos = bit / BLOCKSIZE;
+  // Update HWM if pos is larger.
+  CxxUtils::atomic_fetch_max (&m_hwm, pos);
+  m_data[pos] |= 1UL<<(bit&MASK);
+}
+
+    
+/**
+ * @brief Turn off one bit.
+ * @param bit The bit to turn off.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+void ConcurrentBitset::Impl::reset (bit_t bit)
+{
+  if (bit >= m_nbits) return;
+  bit_t pos = bit / BLOCKSIZE;
+  m_data[pos] &= ~(1UL<<(bit&MASK));
+}
+
+
+/**
+ * @brief Flip the value of one bit.
+ * @param bit The bit to turn flip.
+ *
+ * Does nothing if @c bit beyond the end of the set.
+ */
+inline
+void ConcurrentBitset::Impl::flip (bit_t bit)
+{
+  if (bit >= m_nbits) return;
+  size_t pos = bit / BLOCKSIZE;
+  // Update HWM if pos is larger.
+  CxxUtils::atomic_fetch_max (&m_hwm, pos);
+  m_data[pos] ^= 1UL<<(bit&MASK);
+}
+
+
+/**
+ * @brief Clear all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+inline
+void ConcurrentBitset::Impl::clear()
+{
+  for (bit_t i=0; i<m_nblocks; i++) {
+    m_data[i].store (0, std::memory_order_relaxed);
+  }
+  std::atomic_thread_fence (std::memory_order_seq_cst);
+  m_hwm = 0;
+}
+
+
+/**
+ * @brief Apply a binary operation.
+ * @param op Operation to apply.
+ * @param other Second set for the operation.
+ *
+ * Each block B in this set is replaced by B OP OTHER, where OTHER is
+ * the corresponding block in the other container.  (If this set
+ * is larger than @c other, then the trailing blocks will be 0.)
+ */
+inline
+void ConcurrentBitset::Impl::operate (operator_t op, const Impl& other)
+{
+  bit_t nblocks = std::min (m_nblocks, other.m_nblocks);
+  bit_t hwm = m_hwm;
+  for (bit_t i = 0; i < nblocks; i++) {
+    op (m_data[i], other.m_data[i]);
+    if (m_data[i]) hwm = i;
+  }
+  for (bit_t i = nblocks; i < m_nblocks; i++) {
+    op (m_data[i], static_cast<Block_t> (0));
+    if (m_data[i]) hwm = i;
+  }
+  CxxUtils::atomic_fetch_max (&m_hwm, hwm);
+}
+
+
+/**
+ * @brief Compare with another set.
+ * @param other Other set with which to compare.
+ */
+inline
+bool ConcurrentBitset::Impl::operator== (const Impl& other) const
+{
+  bit_t ntest = std::min (m_nblocks, other.m_nblocks);
+  for (bit_t i = 0; i < ntest; i++) {
+    if (m_data[i] != other.m_data[i]) return false;
+  }
+
+  for (bit_t i = ntest; i < m_nblocks; i++) {
+    if (m_data[i] != 0) return false;
+  }
+
+  for (bit_t i = ntest; i < other.m_nblocks; i++) {
+    if (other.m_data[i] != 0) return false;
+  }
+
+  return true;
+}
+
+
+/**
+ * @brief Return an iterator referencing the first 1 bit.
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::Impl::begin() const
+{
+  // Set the iterator to just before the start of the container.
+  // Then use the increment operator to search for the first 1.
+  bit_t offs = m_nblocks ? (static_cast<bit_t>(m_hwm) + 1) : 0;
+  const_iterator it (0,
+                     static_cast<bit_t>(-BLOCKSIZE),
+                     &m_data[0] - 1,
+                     &m_data[0] + offs);
+  ++it;
+  return it;
+}
+
+
+/**
+ * @brief Return the end iterator.
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::Impl::end() const
+{
+  return const_iterator (0,
+                         ~static_cast<bit_t>(0),
+                         nullptr, nullptr);
+}
+
+
+/**
+ * @brief If bit @c bit is set, return an iterator pointing to it.
+ *        Otherwise, return an end iterator.
+ * @param bit Bit number to test.
+ */
+inline
+ConcurrentBitset::const_iterator
+ConcurrentBitset::Impl::find (bit_t bit) const
+{
+  if (test (bit)) {
+    // The bit's set.
+    // Construct an iterator pointing at this bit.
+    bit_t pos = bit / BLOCKSIZE;
+    const std::atomic<Block_t>* data = m_data + pos;
+    Block_t cache = *data;
+    bit_t offs = bit&MASK;
+    cache >>= 1;
+    if (offs > 0) {
+      cache >>= offs;
+    }
+    return const_iterator (cache, bit, m_data+pos,
+                           &m_data[0] + m_hwm + 1);
+  }
+  return end();
+}
+
+
+} // namespace CxxUtils
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h b/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h
new file mode 100644
index 00000000000..e41abb799d2
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.h
@@ -0,0 +1,325 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/ConcurrentRangeMap.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Map from range to payload object, allowing concurrent, lockless reads.
+ */
+
+
+#ifndef CXXUTILS_CONCURRENTRANGEMAP_H
+#define CXXUTILS_CONCURRENTRANGEMAP_H
+
+
+#include "CxxUtils/stall.h"
+#include "boost/range/iterator_range.hpp"
+#include <atomic>
+#include <mutex>
+#include <utility>
+#include <vector>
+#include <memory>
+#include <algorithm>
+
+
+namespace CxxUtils {
+
+
+/**
+ * @brief Map from range to payload object, allowing concurrent, lockless reads.
+ *
+ * This class implements a map of sorted `range' objects (though only
+ * a single value is actually used) to allocated payload objects.
+ * Values can be looked up by a key; the value returned will be the
+ * first for which the range is not less than the key.  We also
+ * support insertions, erasures, and iteration.
+ *
+ * There can be only one writer at a time; this is enforced with internal locks.
+ * However, there can be any number of concurrent readers at any time.
+ * The reads are lockless (but not necessarily waitless, though this should
+ * not be significant in practice).  So this is appropriate when
+ * reads are much more frequent than writes.
+ *
+ * This implementation also assumes that a lookup is most likely to be
+ * for the last element in the map, that insertions are most likely to be
+ * at the end, and that erasures are most likely to be from the beginning.
+ * This class will still work if these assumptions are violated, but it
+ * may be much slower.  (The use case for which this was targeted
+ * was that of conditions containers.)
+ *
+ * Template arguments:
+ *  RANGE - The type of the range object stored with each element.
+ *  KEY - The type used to look up objects in the container.  This may be
+ *        same as RANGE, but not necessarily.  (For example, RANGE may
+ *        contain start and end times, while KEY may be a single time.)
+ *  COMPARE - Object used for key comparisons; see below.
+ *  UPDATER - Object used for memory management; see below.
+ *
+ * COMPARE should implement a less-than relation, like a typical STL
+ * comparison object, with these signatures:
+ *
+ *@code
+ *  bool operator() (const KEY& k1,   const RANGE& r2) const;
+ *  bool operator() (const RANGE& r1, const RANGE& r2) const;
+ @endcode
+ *
+ * In order to implement updating concurrently with reading, we need to
+ * defer deletion of objects until no thread can be referencing them any more.
+ * The policy for this is set by the template UPDATER<T>.  An object
+ * of this type owns an object of type T.  It should provide a typedef
+ * Context_t, giving a type for an event context, identifying which
+ * thread/slot is currently executing.  It should implement these operations:
+ *
+ *   - const T& get() const
+ *     Return the current object.
+ *   - void update (std::unique_ptr<T> p, const Context_t ctx);
+ *     Atomically update the current object to be p.
+ *     Deletion of the previous version should be deferred until
+ *     no thread can be referencing it.
+ *   - void quiescent (const Context_t& ctx);
+ *     Declare that the thread described by ctx is no longer accessing
+ *     the object.
+ *   - static const Context_t& defaultContext();
+ *     Return a context object for the currently-executing thread.
+ *
+ * For an example, see AthenaKernel/RCUUpdater.h.
+ *
+ * Implementation notes:
+ *   The values we store are pairs of RANGE, const T*.
+ *   The data are stored in a vector of such values.
+ *   We maintain atomic pointers to the first and last valid elements
+ *   in the map.  We can quickly add an element to the end or delete
+ *   an element from the beginning by adjusting these pointers.
+ *   Any other changes will require making a new copy of the data vector.
+ */
+template <class RANGE, class KEY, class T, class COMPARE,
+          template <class> class UPDATER>
+class ConcurrentRangeMap
+{
+public:
+  typedef RANGE key_type;
+  typedef const T* mapped_type;
+  typedef std::pair<RANGE, const T*> value_type;
+  typedef const value_type& const_reference;
+  typedef const value_type* const_pointer;
+  typedef size_t size_type;
+  typedef int difference_type;
+  typedef COMPARE key_compare;
+  typedef KEY key_query_type;
+
+  typedef const value_type* const_iterator;
+  typedef boost::iterator_range<const_iterator> const_iterator_range;
+
+
+  /**
+   * @brief Holds one version of the map.
+   *
+   * This object holds one version of the map.  Within a single version,
+   * we can add elements to the end or remove elements from the beginning.
+   * If we need to make other changes, or to expand the map, we must make
+   * a new version and copy the contents.  The UPDATER object is then used
+   * to install the new version; old versions should be kept until they
+   * are no longer referenced by any thread.
+   *
+   * This object is also used to hold on to erased payloads until it is
+   * safe to delete them.
+   */
+  class Impl
+  {
+  public:
+    /**
+     * @brief Constructor.
+     * @param capacity Size of the data vector to allocate.
+     */
+    Impl (size_t capacity = 10);
+
+
+    /**
+     * @brief Destructor.
+     *
+     * This also deletes payload objects that were passed to discard().
+     */
+    ~Impl();
+
+
+    /**
+     * @brief Return a pointer to the start of the data vector.
+     */
+    value_type* data();
+
+
+    /**
+     * @brief Return the size of the current data vector.
+     */
+    size_t capacity() const;
+
+
+    /***
+     * @brief Queue a payload object for deletion.
+     */
+    void discard (const T* p);
+
+
+  private:
+    /// Vector holding the map data.
+    std::vector<value_type> m_data;
+
+    /// Payload objects with pending deletion requests.
+    /// They'll be deleted when this object is deleted.
+    std::vector<const T*> m_garbage;
+  };
+
+  typedef UPDATER<Impl> Updater_t;
+
+
+  /**
+   * @brief Constructor.
+   * @param updater Object used to manage memory
+   *                (see comments at the start of the class).
+   * @param capacity Initial capacity of the map.
+   * @param compare Comparison object.
+   */
+  ConcurrentRangeMap (Updater_t&& updater,
+                      size_t capacity = 16,
+                      const COMPARE& compare = COMPARE());
+
+
+  /**
+   * @brief Destructor.
+   *
+   * Clean up any remaining payload objects.
+   */
+  ~ConcurrentRangeMap();
+
+
+  /**
+   * @brief Search for the first item less than or equal to KEY.
+   * @param key The key to search for.
+   * @returns The value, or nullptr if not found.
+   */
+  const_iterator find (const key_query_type& key) const;
+
+
+  /**
+   * @brief Add a new element to the map.
+   * @param range Validity range for this element.
+   * @param ptr Payload for this element.
+   * @param ctx Execution context.
+   */
+  void emplace (const RANGE& range,
+                std::unique_ptr<T> ptr,
+                const typename Updater_t::Context_t& ctx =
+                  Updater_t::defaultContext());
+
+
+  /**
+   * @brief Erase the first item less than or equal to KEY.
+   * @param key The key to search erase.
+   * @param ctx Execution context.
+   */
+  void erase (const key_query_type& key,
+              const typename Updater_t::Context_t& ctx =
+                Updater_t::defaultContext());
+
+
+  /**
+   * @brief Return the current number of elements in the map.
+   */
+  size_t size() const;
+
+
+  /**
+   * @brief Test if the map is empty.
+   */
+  bool empty() const;
+
+
+  /**
+   * @brief Return the current capacity of the map.
+   */
+  size_t capacity() const;
+
+
+  /**
+   * @brief Return a range that can be used to iterate over the container.
+   */
+  const_iterator_range range() const;
+
+
+  /**
+   * @brief Called when this thread is no longer referencing anything
+   *        from this container.
+   * @param ctx Execution context.
+   */
+  void quiescent (const typename Updater_t::Context_t& ctx =
+                    Updater_t::defaultContext());
+
+  
+private:
+  /**
+   * @brief Return the begin/last pointers.
+   * @param [inout] last Current value of last.
+   *
+   * Retrieve consistent values of the begin and last pointers.
+   * The last pointer should have already been fetched, and may be updated.
+   * Usage should be like this:
+   *
+   *@code
+   *  const_iterator last = m_last;
+   *  if (!last) return;  // Container empty.
+   *  const_iterator begin = getBegin (last);
+   *  if (!last) return;  // Container empty.
+   @endcode
+   */
+  const_iterator getBegin (const_iterator& last) const;
+
+
+  /**
+   * @brief Consistently update both the begin and last pointers.
+   * @param begin New begin pointer.
+   * @param end New end pointer.
+   */
+  void updatePointers (value_type* new_begin, value_type* new_end);
+
+  
+  /// Updater object.  This maintains ownership of the current implementation
+  /// class and the older versions.
+  Updater_t m_updater;
+
+  /// Comparison object.
+  COMPARE m_compare;
+
+  /// Current version of the implementation class.
+  Impl* m_impl;
+
+  /// Pointers to the first and last elements of the container.
+  /// m_last is not the usual end pointer; it points at the last element
+  /// in the container.
+  /// If the container is empty, then m_last will be null.
+  /// If these are to both be updated together, it should be done in this
+  /// order.  First, m_begin should be set to null.  This marks that there's
+  /// an update in progress.  Then m_last should be set, followed by m_begin.
+  /// To read both pointers, we first fetch m_last.  Then fetch m_begin.
+  /// Then that that both m_begin is non-null and the previous value
+  /// we fetched for last matches what's now in m_last.  If either condition
+  /// fails, then re-fetch both pointers.
+  std::atomic<value_type*> m_begin;
+  std::atomic<value_type*> m_last;
+
+  /// Mutex protecting the container.
+  typedef std::mutex mutex_t;
+  typedef std::lock_guard<mutex_t> lock_t;
+  mutex_t m_mutex;
+};
+
+
+} // namespace CxxUtils
+
+
+#include "CxxUtils/ConcurrentRangeMap.icc"
+
+
+#endif // not CXXUTILS_CONCURRENTRANGEMAP_H
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.icc b/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.icc
new file mode 100644
index 00000000000..f3dee3ff856
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/ConcurrentRangeMap.icc
@@ -0,0 +1,423 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/ConcurrentRangeMap.icc
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Map from range to payload object, allowing concurrent, lockless reads.
+ */
+
+
+namespace CxxUtils {
+
+
+#define T_CONCURRENTRANGEMAP template <class RANGE, class KEY, class T, class COMPARE, template <class> class UPDATER>
+#define CONCURRENTRANGEMAP ConcurrentRangeMap<RANGE, KEY, T, COMPARE, UPDATER>
+
+
+/**
+ * @brief Constructor.
+ * @param capacity Size of the data vector to allocate.
+ */
+T_CONCURRENTRANGEMAP
+CONCURRENTRANGEMAP::Impl::Impl (size_t capacity /*= 10*/)
+  : m_data (capacity)
+{
+}
+
+
+/**
+ * @brief Destructor.
+ *
+ * This also deletes payload objects that were passed to discard().
+ */
+T_CONCURRENTRANGEMAP
+CONCURRENTRANGEMAP::Impl::~Impl()
+{
+  for (const T* p : m_garbage) {
+    delete p;
+  }
+}
+
+
+/**
+ * @brief Return a pointer to the start of the data vector.
+ */
+T_CONCURRENTRANGEMAP
+typename CONCURRENTRANGEMAP::value_type*
+CONCURRENTRANGEMAP::Impl::data()
+{
+  return m_data.data();
+}
+
+
+/**
+ * @brief Return the size of the current data vector.
+ */
+T_CONCURRENTRANGEMAP
+size_t
+CONCURRENTRANGEMAP::Impl::capacity() const
+{
+  return m_data.capacity();
+}
+
+
+/***
+ * @brief Queue a payload object for deletion.
+ */
+T_CONCURRENTRANGEMAP
+void
+CONCURRENTRANGEMAP::Impl::discard (const T* p)
+{
+  m_garbage.push_back (p);
+}
+
+
+/**
+ * @brief Constructor.
+ * @param updater Object used to manage memory
+ *                (see comments at the start of the class).
+ * @param capacity Initial capacity of the map.
+ * @param compare Comparison object.
+ */
+T_CONCURRENTRANGEMAP
+CONCURRENTRANGEMAP::ConcurrentRangeMap (Updater_t&& updater,
+                                        size_t capacity /*= 16*/,
+                                        const COMPARE& compare /*= COMPARE()*/)
+  : m_updater (std::move (updater)),
+    m_compare (compare)
+{
+  auto impl = std::make_unique<Impl> (capacity);
+  m_impl = impl.get();
+  m_updater.update (std::move (impl), Updater_t::defaultContext());
+  m_begin = m_impl->data();
+  m_last = nullptr;
+}
+
+
+/**
+ * @brief Destructor.
+ *
+ * Clean up any remaining payload objects.
+ */
+T_CONCURRENTRANGEMAP
+CONCURRENTRANGEMAP::~ConcurrentRangeMap()
+{
+  value_type* last = m_last;
+  if (last) {
+    for (value_type* p = m_begin; p <= m_last; ++p) {
+      delete p->second;
+    }
+      
+  }
+}
+
+
+/**
+ * @brief Search for the first item less than or equal to KEY.
+ * @param key The key to search for.
+ * @returns The value, or nullptr if not found.
+ */
+T_CONCURRENTRANGEMAP
+inline
+typename CONCURRENTRANGEMAP::const_iterator
+CONCURRENTRANGEMAP::find (const key_query_type& key) const
+{
+  // Return right away if the map's empty;
+  const_iterator last = m_last;
+  if (!last) return nullptr;
+
+  // Check the last value.
+  if (!m_compare (key, last->first)) {
+    return last;
+  }
+
+  // Do a binary search to find the proper position.
+  const_iterator begin = getBegin (last);
+  if (!last) return nullptr;
+  const_iterator pos = std::upper_bound (begin, last+1, key,
+                                         [this](const key_query_type& key,
+                                                const value_type& v)
+                                         { return m_compare (key, v.first); } );
+
+  // Fail if it would be before the first value.
+  if (pos == begin) return nullptr;
+
+  // Proper place.
+  return pos-1;
+}
+
+
+/**
+ * @brief Add a new element to the map.
+ * @param range Validity range for this element.
+ * @param ptr Payload for this element.
+ * @param ctx Execution context.
+ */
+T_CONCURRENTRANGEMAP
+void
+CONCURRENTRANGEMAP::emplace (const RANGE& range,
+                             std::unique_ptr<T> ptr,
+                             const typename Updater_t::Context_t& ctx
+                               /*= Updater_t::defaultContext()*/)
+{
+  lock_t lock (m_mutex);
+
+  // Can we add this to the end?
+  // There has to be room for another, and either the container must be empty,
+  // or the new element must be greater than the current last one.
+  value_type* last = m_last;
+  value_type* begin = m_begin;
+  value_type* end = last ? last+1 : begin;
+  if (end < m_impl->data() + m_impl->capacity() &&
+      (!last || !m_compare (range, last->first)))
+  {
+    // Yes --- copy the data to the container.
+    end->first = range;
+    end->second = ptr.release();
+
+    // Update the last pointer.
+    m_last = end;
+    // Now the new element is visible to other threads.
+    return;
+  }
+
+  // No --- need to make a new implementation object and copy.
+  // Make the new one bigger, if needed.
+  int new_capacity = m_impl->capacity();
+  if (end-begin > new_capacity/2) {
+    new_capacity = (end-begin)*2;
+  }
+
+  // Allocate the new object.
+  auto new_impl = std::make_unique<Impl> (new_capacity);
+  value_type* new_begin = new_impl->data();
+  value_type* new_end = new_begin;
+
+  // Copy the data, adding the new item at the proper place.
+  while (begin < end) {
+    if (ptr && m_compare (range, begin->first)) {
+      new_end->first = range;
+      new_end->second = ptr.release();
+      ++new_end;
+    }
+    *new_end++ = *begin++;
+  }
+  // Maybe the new one goes at the end.
+  if (ptr) {
+    new_end->first = range;
+    new_end->second = ptr.release();
+    ++new_end;
+  }
+
+  // Install the new implementation.
+  m_impl = new_impl.get();
+
+  // Make the update visible to other threads.
+  // Make sure not to add the old version to the garbage list before
+  // we've updated the pointers.
+  updatePointers (new_begin, new_end);
+  m_updater.update (std::move (new_impl), ctx);
+}
+
+
+/**
+ * @brief Erase the first item less than or equal to KEY.
+ * @param key The key to search erase.
+ * @param ctx Execution context.
+ */
+T_CONCURRENTRANGEMAP
+void
+CONCURRENTRANGEMAP::erase (const key_query_type& key,
+                           const typename Updater_t::Context_t& ctx
+                             /*= Updater_t::defaultContext()*/)
+{
+  lock_t lock (m_mutex);
+
+  // Return if the container's empty.
+  value_type* last = m_last;
+  if (last == nullptr) return;
+  
+  value_type* begin = m_begin;
+  value_type* end = last+1;
+
+  // Don't do anything if key is before the first element.
+  if (m_compare (key, begin->first)) return;
+
+  // Is the first element the one we're deleting?
+  if (begin == last || m_compare (key, (begin+1)->first)) {
+    // Yes --- queue the payload for deletion.
+    m_impl->discard (begin->second);
+    ++begin;
+
+    // Make the update visible to other threads.
+    // If we need to update both pointers, then clear m_begin first.
+    if (begin == end) {
+      m_begin = nullptr;
+      m_last = nullptr;
+    }
+    m_begin = begin;
+    return;
+  }
+
+  // Need to make a new implementation object and copy data.
+  size_t capacity = m_impl->capacity();
+  auto new_impl = std::make_unique<Impl> (capacity);
+  value_type* new_begin = new_impl->data();
+  value_type* new_end = new_begin;
+
+  // Copy the data, skipping the object to be deleted.
+  while (begin < end-1 && !m_compare (key, (begin+1)->first)) {
+    *new_end++ = *begin++;
+  }
+  m_impl->discard (begin->second);
+  ++begin;
+  while (begin < end) {
+    *new_end++ = *begin++;
+  }
+
+  // Install the new implementation.
+  m_impl = new_impl.get();
+
+  // Make the update visible to other threads.
+  // Make sure not to add the old version to the garbage list before
+  // we've updated the pointers.
+  updatePointers (new_begin, new_end);
+  m_updater.update (std::move (new_impl), ctx);
+}
+
+
+/**
+ * @brief Return the current number of elements in the map.
+ */
+T_CONCURRENTRANGEMAP
+inline
+size_t CONCURRENTRANGEMAP::size() const
+{
+  const_iterator last = m_last;
+  if (!last) return 0;
+  const_iterator begin = getBegin (last);
+  if (!last) return 0;
+  return last+1 - begin;
+}
+
+
+/**
+ * @brief Test if the map is empty.
+ */
+T_CONCURRENTRANGEMAP
+inline
+bool CONCURRENTRANGEMAP::empty() const
+{
+  return m_last == nullptr;
+}
+
+
+/**
+ * @brief Return the current capacity of the map.
+ */
+T_CONCURRENTRANGEMAP
+inline
+size_t CONCURRENTRANGEMAP::capacity() const
+{
+  return m_updater.get().capacity();
+}
+
+
+/**
+ * @brief Return a range that can be used to iterate over the container.
+ */
+T_CONCURRENTRANGEMAP
+inline
+typename CONCURRENTRANGEMAP::const_iterator_range
+CONCURRENTRANGEMAP::range() const
+{
+  const_iterator last = m_last;
+  if (!last) return const_iterator_range (nullptr, nullptr);
+  const_iterator begin = getBegin (last);
+  if (!last) return const_iterator_range (nullptr, nullptr);
+  return const_iterator_range (begin, last+1);
+}
+
+
+/**
+ * @brief Called when this thread is no longer referencing anything
+ *        from this container.
+ * @param ctx Execution context.
+ */
+T_CONCURRENTRANGEMAP
+void
+CONCURRENTRANGEMAP::quiescent (const typename Updater_t::Context_t& ctx /*= Updater_t::defaultContext()*/)
+{
+  m_updater.quiescent (ctx);
+}
+
+
+/**
+ * @brief Return the begin/last pointers.
+ * @param [inout] last Current value of last.
+ *
+ * Retrieve consistent values of the begin and last pointers.
+ * The last pointer should have already been fetched, and may be updated.
+ * Usage should be like this:
+ *
+ *@code
+ *  const_iterator last = m_last;
+ *  if (!last) return;  // Container empty.
+ *  const_iterator begin = getBegin (last);
+ *  if (!last) return;  // Container empty.
+ @endcode
+*/
+T_CONCURRENTRANGEMAP
+inline
+typename CONCURRENTRANGEMAP::const_iterator
+CONCURRENTRANGEMAP::getBegin (const_iterator& last) const
+{
+  // First fetch the begin pointer, then check that both there is not
+  // an update in progress and that the last pointer
+  // hasn't changed.  In either case, we need to refetch both pointers.
+  // ABA isn't an issue here since the pointers go only in one direction,
+  // and if we allocate a new chunk, it will be in a disjoint
+  // piece of memory.
+  const_iterator begin;
+  while (true) {
+    begin = m_begin;
+    if (begin && last == m_last) break;
+    CxxUtils::stall();
+    last = m_last;
+  }
+  return begin;
+}
+
+
+/**
+ * @brief Consistently update both the begin and last pointers.
+ * @param begin New begin pointer.
+ * @param end New end pointer.
+ */
+T_CONCURRENTRANGEMAP
+inline
+void
+CONCURRENTRANGEMAP::updatePointers (value_type* new_begin, value_type* new_end)
+{
+  // Mark that there's an update in progress.
+  m_begin = nullptr;
+  // Then update the last pointer.
+  if (new_begin == new_end) {
+    m_last = nullptr;
+  }
+  else {
+    m_last = new_end-1;
+  }
+  // Then set the begin pointer.
+  m_begin = new_begin;
+}
+
+
+#undef T_CONCURRENTRANGEMAP
+#undef CONCURRENTRANGEMAP
+
+
+} // namespace CxxUtils
diff --git a/Control/CxxUtils/CxxUtils/atomic_fetch_minmax.h b/Control/CxxUtils/CxxUtils/atomic_fetch_minmax.h
new file mode 100644
index 00000000000..5404bbacfc7
--- /dev/null
+++ b/Control/CxxUtils/CxxUtils/atomic_fetch_minmax.h
@@ -0,0 +1,82 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/atomic_fetch_minmax.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Atomic min/max functions.
+ *
+ * These add atomic operations for finding the minimum or maximum.
+ * These have been proposed for addition to the standard, but have not
+ * yet made it in:
+ *
+ *   http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3696.htm
+ *   http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0493r0.pdf
+ */
+
+
+#ifndef CXXUTILS_ATOMIC_FETCH_MINMAX_H
+#define CXXUTILS_ATOMIC_FETCH_MINMAX_H
+
+
+#include "CxxUtils/stall.h"
+#include <algorithm>
+#include <atomic>
+
+
+namespace CxxUtils {
+
+
+/**
+ * @brief Atomically calculate maximum.
+ * @param a Pointer to the atomic value.
+ * @param v The other value.
+ * @param memorder Memory ordering.
+ *
+ * Computes max(*a, v) and stores it in *a.  Returns the original value of *a.
+ */
+template <class T>
+inline
+T atomic_fetch_max (std::atomic<T>* a, T v,
+                    std::memory_order memorder = std::memory_order_seq_cst)
+{
+  T orig = a->load (memorder);
+  T max = std::max (orig, v);
+  while (!a->compare_exchange_strong (orig, max, memorder)) {
+    CxxUtils::stall();
+    max = std::max (orig, v);
+  }
+  return orig;
+}
+
+
+/**
+ * @brief Atomically calculate minimum.
+ * @param a Pointer to the atomic value.
+ * @param v The other value.
+ * @param memorder Memory ordering.
+ *
+ * Computes min(*a, v) and stores it in *a.  Returns the original value of *a.
+ */
+template <class T>
+inline
+T atomic_fetch_min (std::atomic<T>* a, T v,
+                    std::memory_order memorder = std::memory_order_seq_cst)
+{
+  T orig = a->load (memorder);
+  T min = std::min (orig, v);
+  while (!a->compare_exchange_strong (orig, min, memorder)) {
+    CxxUtils::stall();
+    min = std::min (orig, v);
+  }
+  return orig;
+}
+
+
+} // namespace CxxUtils
+
+
+#endif // not CXXUTILS_ATOMIC_FETCH_MINMAX_H
diff --git a/Control/CxxUtils/Root/ConcurrentBitset.cxx b/Control/CxxUtils/Root/ConcurrentBitset.cxx
new file mode 100644
index 00000000000..30e09735369
--- /dev/null
+++ b/Control/CxxUtils/Root/ConcurrentBitset.cxx
@@ -0,0 +1,231 @@
+// $Id$
+/**
+ * @file CxxUtils/src/ConcurrentBitset.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Variable-sized bitset allowing (mostly) concurrent access.
+ */
+
+
+#include "CxxUtils/ConcurrentBitset.h"
+
+
+namespace CxxUtils {
+
+
+//*********************************************************************************
+// Constructors, destructors, assignment.
+
+
+/**
+ * @brief Constructor.
+ * @param nbits Initial number of bits to allocate for the map.
+ */
+ConcurrentBitset::ConcurrentBitset (bit_t nbits /*= 0*/)
+  : m_impl (newImpl (nbits))
+{
+  new (m_impl) Impl (nbits);
+}
+
+
+/**
+ * @brief Copy constructor.
+ * @param other Container to copy.
+ *
+ * The copy is not atomic.  If a non-atomic update is simultaneously made
+ * to @c other, then the copy may have this update only partially completed.
+ */
+ConcurrentBitset::ConcurrentBitset (const ConcurrentBitset& other)
+  : m_impl (newImpl ((*other.m_impl).nbits()))
+{
+  new (m_impl) Impl ((*other.m_impl));
+}
+
+
+/**
+ * @brief Constructor from an initializer list.
+ * @param List of values to set.
+ * @param nbits Number of bits to allocate for the map.
+ *              If 0, then set the size based on the maximum value in the list.
+ *
+ * This allows setting specific bits in the set, like
+ *@code
+ *  ConcurrentBitset bs { 1, 5, 10};
+ @endcode
+*/
+ConcurrentBitset::ConcurrentBitset (std::initializer_list<bit_t> l,
+                                    bit_t nbits /*= 0*/)
+{
+  if (nbits == 0) {
+    // Set the size of the set based on the maximum value in the list.
+    auto max_it = std::max_element (l.begin(), l.end());
+    if (max_it != l.end()) {
+      nbits = *max_it + 1;
+    }
+    // Round up.
+    nbits = (nbits + BLOCKSIZE-1) & ~MASK;
+  }
+  m_impl = newImpl (nbits);
+  new (m_impl) Impl (nbits);
+  for (bit_t b : l) {
+    set (b);
+  }
+}
+
+
+/**
+ * @brief Destructor.
+ */
+ConcurrentBitset::~ConcurrentBitset()
+{
+  free (m_impl);
+  emptyGarbage();
+}
+
+
+/**
+ * @brief Assignment.
+ * @param other Bitset from which to assign.
+ *
+ * The copy is not atomic.  If a non-atomic update is simultaneously made
+ * to @c other, then the copy may have this update only partially completed.
+ */
+ConcurrentBitset& ConcurrentBitset::operator= (const ConcurrentBitset& other)
+{
+  if (this != &other) {
+    const Impl* otherImpl = other.m_impl;
+    expand (otherImpl->nbits());
+    (*m_impl).assign (*otherImpl);
+  }
+  return *this;
+}
+
+
+/**
+ * @brief Clean up old versions of the set.
+ *
+ * The insert and assignment operations may need to grow the set.
+ * The original version of the set is not deleted immediately, since other threads
+ * may still be accessing it.  Call this when no other threads can be accessing
+ * old versions in order to clean them up.
+ */
+void ConcurrentBitset::emptyGarbage()
+{
+  lock_t lock (m_mutex);
+  for (Impl* p : m_garbage) {
+    free (p);
+  }
+  m_garbage.clear();
+}
+
+
+/**
+ * @brief Expand the container: out-of-line portion.
+ * @param new_nbits The desired new size of the container.
+ */
+void ConcurrentBitset::expandOol (bit_t new_nbits)
+{
+  // Need to take out the lock.
+  lock_t lock (m_mutex);
+  // Check the size again while we're holding the lock.
+  bit_t nbits = (*m_impl).nbits();
+  if (new_nbits > nbits) {
+    // We need to expand.  Allocate a new implementation and initialize it,
+    // copying from the existing implementation.
+    Impl* i = newImpl (new_nbits);
+    new (i) Impl (*m_impl, new_nbits);
+
+    // Remember that we need to delete the old object.
+    m_garbage.push_back (m_impl);
+
+    // Publish the new one.
+    m_impl = i;
+  }
+}
+
+
+//*********************************************************************************
+// Implementation.
+
+
+/**
+ * @brief Count the number of 1 bits in the set.
+ */
+ConcurrentBitset::bit_t
+ConcurrentBitset::Impl::count() const
+{
+  bit_t n = 0;
+  for (bit_t i=0; i<m_nblocks; i++) {
+    n += CxxUtils::count_ones (m_data[i]);
+  }
+  return n;
+}
+
+
+/**
+ * @brief Return true if there are no 1 bits in the set.
+ */
+bool ConcurrentBitset::Impl::none() const
+{
+  for (bit_t i = 0; i < m_nblocks; i++) {
+    if (m_data[i]) return false;
+  }
+  return true;
+}
+
+
+/**
+ * @brief Return true if all bits in the set are 1.
+ */
+bool ConcurrentBitset::Impl::all() const
+{
+  // Check all blocks except the last.
+  for (bit_t i = 0; i < m_nblocks-1; i++) {
+    if (m_data[i] != ~static_cast<Block_t>(0)) return false;
+  }
+  // Special case for the last, since the last block may not be full.
+  if (m_nblocks > 0) {
+    if (m_data[m_nblocks] != ones<Block_t> (m_nbits - (m_nblocks-1)*BLOCKSIZE)) {
+      return false;
+    }
+  }
+  return true;
+}
+
+
+/**
+ * @brief Turn on all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+void ConcurrentBitset::Impl::set()
+{
+  for (bit_t i=0; i<m_nblocks; i++) {
+    m_data[i].store (~static_cast<Block_t>(0), std::memory_order_relaxed);
+  }
+  std::atomic_thread_fence (std::memory_order_seq_cst);
+  if (m_nblocks > 0) {
+    m_hwm = m_nblocks-1;
+  }
+}
+
+
+/**
+ * @brief Flip the state of all bits in the set.
+ *
+ * This operation is not necessarily atomic; a simultaneous read may be able
+ * to see the operation partially done.
+ */
+void ConcurrentBitset::Impl::flip()
+{
+  for (bit_t i=0; i<m_nblocks; i++) {
+    m_data[i] ^= ~static_cast<Block_t>(0);
+  }
+  if (m_nblocks > 0) {
+    m_hwm = m_nblocks-1;
+  }
+}
+
+
+} // namespace CxxUtils
diff --git a/Control/CxxUtils/share/CachedPointer_test.ref b/Control/CxxUtils/share/CachedPointer_test.ref
new file mode 100644
index 00000000000..bae42c55f9e
--- /dev/null
+++ b/Control/CxxUtils/share/CachedPointer_test.ref
@@ -0,0 +1,2 @@
+test1
+test2
diff --git a/Control/CxxUtils/share/CachedValue_test.ref b/Control/CxxUtils/share/CachedValue_test.ref
new file mode 100644
index 00000000000..fadbf1d8531
--- /dev/null
+++ b/Control/CxxUtils/share/CachedValue_test.ref
@@ -0,0 +1,4 @@
+test1
+test2
+test3
+test4
diff --git a/Control/CxxUtils/share/ConcurrentBitset_test.ref b/Control/CxxUtils/share/ConcurrentBitset_test.ref
new file mode 100644
index 00000000000..b88456cd430
--- /dev/null
+++ b/Control/CxxUtils/share/ConcurrentBitset_test.ref
@@ -0,0 +1,11 @@
+test_basic
+test_reference
+test_iterate
+test_find
+test_insert
+test_copy
+test_initlist
+test_compare
+test_operators
+test_anyall
+test_mt
diff --git a/Control/CxxUtils/share/ConcurrentRangeMap_test.ref b/Control/CxxUtils/share/ConcurrentRangeMap_test.ref
new file mode 100644
index 00000000000..bae42c55f9e
--- /dev/null
+++ b/Control/CxxUtils/share/ConcurrentRangeMap_test.ref
@@ -0,0 +1,2 @@
+test1
+test2
diff --git a/Control/CxxUtils/share/atomic_fetch_minmax_test.ref b/Control/CxxUtils/share/atomic_fetch_minmax_test.ref
new file mode 100644
index 00000000000..bae42c55f9e
--- /dev/null
+++ b/Control/CxxUtils/share/atomic_fetch_minmax_test.ref
@@ -0,0 +1,2 @@
+test1
+test2
diff --git a/Control/CxxUtils/share/auxids.uniq b/Control/CxxUtils/share/auxids.uniq
new file mode 100644
index 00000000000..d2b9af1fe79
--- /dev/null
+++ b/Control/CxxUtils/share/auxids.uniq
@@ -0,0 +1,277 @@
+
+1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 
+1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1115 1116 1117 1118 1145 1146 
+11 
+11 12 13 14 15 261 262 263 486 487 488 646 1012 1013 1156 1157 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 
+11 12 13 14 15 36 37 38 486 487 488 646 1012 1013 1156 1157 1571 1572 1573 
+11 12 13 14 15 486 487 488 1012 1013 1156 1157 
+11 12 13 14 15 486 487 488 1012 1013 1156 1157 1344 
+11 12 13 486 487 488 1012 1013 1156 
+11 12 13 486 487 488 1012 1013 1156 1157 
+11 12 13 486 487 488 646 1012 1013 1156 1157 1388 1389 1390 1391 
+11 1344 
+1115 1116 1117 1118 1145 1146 
+11 261 262 263 646 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 
+11 36 37 38 646 1571 1572 1573 
+11 486 487 488 1012 1013 1156 1157 
+1163 1164 1165 1166 
+1167 1168 1169 1170 1171 1206 1255 
+1206 
+12 13 14 15 25 486 487 488 1012 1013 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 
+12 13 14 15 25 486 487 488 1012 1013 1147 1148 1149 1151 1152 1153 1154 1155 1156 1157 
+12 13 14 15 261 262 263 486 487 488 646 1012 1013 1156 1157 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 
+12 13 14 15 36 37 38 486 487 488 646 1012 1013 1156 1157 1571 1572 1573 
+12 13 14 15 486 487 488 1012 1013 1156 1157 
+12 13 14 15 486 487 488 1012 1013 1156 1157 1344 
+1 2 3 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 
+1 2 3 4 5 6 7 8 9 285 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 
+12 36 37 38 104 105 106 107 108 109 110 643 644 645 646 647 648 649 650 651 652 653 654 
+12 36 37 38 39 265 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 637 1258 1259 1260 1261 1262 1263 1267 1268 
+12 36 37 38 39 265 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 637 1258 1259 1267 1268 
+12 36 37 38 39 265 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 579 580 581 583 584 585 587 588 589 591 592 593 602 637 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1406 1407 1408 1590 1591 1592 1593 1594 1595 1596 1700 
+12 36 37 38 39 265 332 333 334 335 336 337 338 339 340 341 342 343 344 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 579 580 581 587 588 589 602 637 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1406 1408 1590 1591 1592 1593 1594 1595 1596 1700 
+12 36 37 38 39 265 336 337 338 339 344 349 350 353 362 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 
+12 36 37 38 39 265 336 337 338 339 344 349 350 353 362 367 368 369 370 371 372 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 579 580 581 1275 1340 1342 1343 1590 
+12 36 37 38 39 265 336 337 338 339 344 349 350 353 362 367 368 369 370 371 372 382 383 384 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 579 580 581 583 584 585 1275 1340 1342 1343 1590 
+12 36 37 38 39 265 336 337 338 339 344 349 350 353 362 367 368 369 370 371 372 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 
+1256 
+1279 1280 1281 1282 1283 
+1281 1282 1283 
+1321 
+1322 
+1340 1342 1343 1410 1411 
+1340 1379 
+1344 
+1375 1376 1377 1378 
+1375 1376 1377 1378 1380 
+1399 1400 
+1445 1446 1447 
+1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 
+1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1488 1491 
+1597 1598 1599 1600 
+1602 1603 1604 1605 1606 1607 
+1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 
+16 17 18 19 20 480 481 482 
+16 17 18 19 20 480 481 482 490 491 492 493 494 495 496 497 498 
+1672 1673 1674 1675 1676 1677 
+1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 
+1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 
+1790 1791 1792 1793 1794 1795 
+198 385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1340 1342 1343 1413 1414 1415 1416 
+21 22 39 261 262 263 264 266 483 484 
+21 22 39 261 262 263 264 266 483 484 1340 1342 1343 1410 1411 
+21 22 39 261 262 263 264 266 483 484 499 500 
+21 22 39 261 262 263 264 266 483 484 499 500 1257 
+21 22 39 261 262 263 264 266 483 484 901 902 903 904 905 906 907 908 917 918 919 920 921 922 923 924 1342 1343 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1437 
+230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 
+232 1668 1669 1670 1671 
+232 279 280 1668 1669 1670 1671 
+23 24 483 485 486 487 488 489 
+25 1147 1148 1149 1150 1151 1152 1153 1154 1155 
+25 1147 1148 1149 1151 1152 1153 1154 1155 
+261 262 263 264 265 266 
+261 262 263 486 487 488 980 1012 1013 1340 1345 1346 1347 1348 1349 1350 1351 1352 1379 
+261 262 263 486 487 488 980 1012 1013 1345 1346 1347 1348 1349 1350 1351 1352 
+261 262 263 486 487 488 980 1012 1013 1345 1346 1347 1348 1349 1350 1351 1352 1375 1376 1377 1378 
+261 262 263 486 487 488 980 1012 1013 1345 1346 1347 1348 1349 1350 1351 1352 1375 1376 1377 1378 1380 
+261 262 263 646 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 
+270 397 408 418 419 420 421 422 424 1274 1287 1601 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1698 1699 
+270 397 418 419 420 421 422 424 1287 1601 1632 1633 1634 1635 1636 1639 1640 1641 1642 1643 1644 1645 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1698 1699 
+27 29 31 33 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 
+27 29 31 33 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1279 1280 1281 1282 1283 
+27 29 31 33 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1281 1282 1283 
+279 280 
+284 285 
+285 441 442 443 444 445 446 447 448 449 450 451 452 458 459 460 461 462 463 464 465 466 467 478 479 
+286 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 
+286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 
+29 31 33 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1084 1085 1086 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1279 1280 1281 1282 1283 
+29 31 33 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1084 1085 1086 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1118 1121 1122 1135 1139 1141 1142 1143 1144 1145 1146 1281 1282 1283 
+29 31 33 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1085 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1279 1280 1281 1282 1283 1564 1565 1566 1567 1568 1569 1570 1574 1575 1576 1577 1583 
+29 31 33 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1085 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1279 1280 1281 1282 1283 1565 1566 1567 1568 1569 1570 1574 1575 1576 1577 1583 
+29 31 33 1084 1085 1086 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1279 1280 1281 1282 1283 
+29 31 33 1084 1085 1086 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1118 1121 1122 1135 1139 1141 1142 1143 1144 1145 1146 1281 1282 1283 
+29 31 33 1085 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1279 1280 1281 1282 1283 1564 1565 1566 1567 1568 1569 1570 1574 1575 1576 1577 1583 
+29 31 33 1085 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1279 1280 1281 1282 1283 1565 1566 1567 1568 1569 1570 1574 1575 1576 1577 1583 
+311 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 
+311 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 1256 
+311 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 
+311 1174 1175 1182 1183 1184 1186 1188 1190 1191 1192 1194 1195 1196 1197 1198 1199 1200 1201 1202 1255 1335 1336 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 1174 1175 1182 1183 1184 1186 1188 1190 1191 1192 1194 1195 1196 1197 1198 1199 1200 1201 1202 1255 1335 1336 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 1335 1336 1337 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 1335 1336 1337 1338 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1255 1335 1336 1337 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1206 1255 1335 1336 1337 1338 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1202 1203 1204 1205 1206 1255 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1186 1188 1189 1190 1191 1192 1193 1194 1195 1196 1201 1206 1255 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 1256 
+311 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 
+311 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 1335 1336 1337 
+311 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1255 1335 1336 1337 1338 
+311 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1255 1335 1336 1337 
+311 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1206 1255 1335 1336 1337 1338 
+311 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1202 1203 1204 1205 1206 1255 
+311 554 555 1167 1168 1169 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1186 1188 1189 1190 1191 1192 1193 1194 1195 1196 1201 1206 1255 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 373 374 375 376 377 378 379 380 381 382 383 384 579 580 581 583 584 585 587 588 589 591 592 593 602 637 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1406 1407 1408 1590 1591 1592 1593 1594 1595 1596 1700 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 373 374 375 376 377 378 379 380 381 382 383 384 579 581 583 585 637 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1408 1590 1591 1592 1593 1594 1595 1596 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 637 1258 1259 1260 1261 1262 1263 1267 1268 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 637 1258 1259 1267 1268 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 637 1259 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 637 1259 1260 1261 1262 1263 
+330 331 332 333 334 335 340 341 342 343 345 346 347 348 351 352 354 355 356 357 358 359 360 361 363 364 365 366 637 1259 1260 1261 1262 1263 1275 1276 1277 1278 
+332 333 334 335 340 341 342 343 351 352 354 355 356 357 358 359 360 361 363 364 365 366 373 374 375 376 377 378 379 380 381 382 383 384 579 580 581 587 588 589 602 637 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1406 1408 1590 1591 1592 1593 1594 1595 1596 1700 
+332 333 334 335 340 341 342 343 351 352 354 355 356 357 358 359 360 361 363 364 365 366 373 374 375 376 377 378 379 380 381 382 383 384 579 581 637 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1408 1590 1591 1592 1593 1594 1595 1596 
+34 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 
+34 35 37 38 523 524 525 526 527 528 529 530 531 
+34 35 37 38 523 524 525 534 535 536 
+34 523 
+36 265 336 337 523 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 
+36 336 337 350 523 612 613 614 615 616 617 621 622 623 625 626 627 
+36 37 38 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 184 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 443 523 643 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 
+36 37 38 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 184 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 443 643 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 822 823 824 825 826 827 828 829 830 831 832 833 834 835 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 871 872 873 874 
+36 37 38 265 523 876 881 882 883 884 885 886 887 888 
+36 37 38 265 875 876 877 878 879 880 
+36 37 38 39 
+36 37 38 39 1492 
+36 37 38 39 265 1438 1439 1440 1441 1442 1443 1444 
+36 37 38 39 265 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 
+36 37 38 39 265 1438 1439 1440 1441 1442 1443 1444 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 
+36 37 38 39 265 1438 1439 1440 1441 1442 1443 1444 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1488 1491 
+36 37 38 39 265 1438 1439 1440 1441 1442 1443 1444 1602 1603 1604 1605 1606 1607 
+36 37 38 39 265 1438 1439 1440 1441 1442 1443 1444 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 
+36 37 38 39 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 579 580 581 583 584 585 604 605 606 607 608 637 1259 
+36 37 38 39 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 579 580 581 583 584 585 604 605 606 607 608 637 1259 1260 1261 1262 1263 
+36 37 38 39 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 579 580 581 583 584 585 604 605 606 607 608 637 1259 1260 1261 1262 1263 1275 1276 1277 1278 
+36 37 38 39 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 579 581 583 585 604 605 606 607 608 637 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1408 1590 1591 1592 1593 1594 1595 1596 
+36 37 38 39 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 562 637 
+36 37 38 39 332 333 334 335 336 337 338 339 340 341 342 343 344 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 579 581 604 605 606 607 608 637 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1275 1276 1277 1278 1340 1342 1343 1405 1408 1590 1591 1592 1593 1594 1595 1596 
+36 37 38 39 336 337 338 339 344 349 350 353 362 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 562 563 564 579 580 581 583 584 585 604 605 606 607 608 
+36 37 38 39 336 337 338 339 344 349 350 353 362 367 368 369 370 371 372 562 563 564 604 605 606 607 608 
+36 37 38 39 40 41 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 275 276 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 275 276 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 275 276 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1539 1540 1541 1542 1543 1544 1545 1546 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1584 1585 1586 1587 1588 1589 
+36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1225 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 
+36 37 38 39 57 58 59 60 61 765 1659 1660 1661 1662 1663 1664 1665 1666 1667 
+36 37 38 39 57 58 64 76 77 78 79 80 81 82 83 84 85 86 265 270 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 410 418 419 420 421 422 423 424 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 1274 1287 1601 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1698 1699 
+36 37 38 39 57 58 64 76 77 78 79 80 81 82 83 84 85 86 265 270 394 395 396 397 398 399 400 401 402 403 404 405 406 407 410 418 419 420 421 422 423 424 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 1287 1601 1632 1633 1634 1635 1636 1639 1640 1641 1642 1643 1644 1645 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1698 1699 
+36 37 38 39 57 58 64 76 77 78 79 80 81 82 83 84 85 86 265 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 423 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 1274 
+36 37 38 39 57 58 64 76 77 78 79 80 81 82 83 84 85 86 265 394 395 396 398 399 400 401 402 403 404 405 406 407 410 423 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 
+36 37 38 59 87 797 
+36 37 38 59 87 797 1597 1598 1599 1600 
+36 37 38 646 1571 1572 1573 
+36 37 38 88 265 278 373 374 375 376 377 378 379 380 381 563 806 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 
+36 37 38 88 265 278 373 374 375 376 377 378 379 380 381 563 806 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 
+36 37 38 88 265 278 373 374 375 376 377 378 379 380 381 563 806 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 
+36 799 800 801 802 804 
+37 38 340 343 344 350 352 353 364 542 543 628 629 630 631 632 633 634 635 636 637 638 639 
+37 38 501 502 503 504 505 506 507 508 509 510 511 512 
+37 38 511 513 514 515 516 
+37 38 511 517 518 519 520 521 522 
+37 38 523 532 533 
+382 383 384 579 580 581 1275 1340 1342 1343 1590 
+382 383 384 579 580 581 583 584 585 1275 1340 1342 1343 1590 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1034 1037 1039 1056 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1034 1039 1046 1049 1050 1053 1054 1055 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1034 1039 1056 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1039 1041 1056 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1039 1046 1047 1049 1050 1053 1054 1056 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1039 1046 1049 1050 1053 1054 1055 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1039 1046 1050 1053 1054 1055 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1023 1024 1028 1029 1039 1046 1050 1053 1054 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1056 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 1412 
+38 385 386 387 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1254 1257 
+385 387 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 1339 1340 1341 1342 1343 1412 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 1340 1341 1342 1343 1384 1385 1386 1387 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 1340 1342 1343 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1339 1340 1341 1342 1343 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1340 1341 1342 1343 1386 1387 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1254 1340 1342 1343 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+385 387 1207 1208 1209 1210 1211 1212 1213 1214 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+385 387 1214 1339 1340 1341 1342 1343 
+385 387 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+38 58 198 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1340 1342 1343 1413 1414 1415 1416 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 1339 1340 1341 1342 1343 1412 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 1340 1341 1342 1343 1384 1385 1386 1387 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1257 1340 1342 1343 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1339 1340 1341 1342 1343 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1340 1341 1342 1343 1386 1387 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1254 1340 1342 1343 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1207 1208 1209 1210 1211 1212 1213 1214 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1214 1339 1340 1341 1342 1343 
+38 58 385 386 387 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1769 1770 1771 1772 1773 1774 1775 1776 1782 1783 1784 1785 1786 
+38 58 386 893 894 895 896 897 898 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 
+389 390 391 
+38 997 998 999 1000 1001 1002 1003 1004 
+397 408 409 1274 
+42 43 44 45 46 47 48 49 50 51 52 53 55 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 
+42 43 44 45 46 47 48 49 50 51 52 53 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 
+42 43 44 45 46 47 48 49 50 51 52 53 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1539 1540 1541 1542 1543 1544 1545 1546 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1584 1585 1586 1587 1588 1589 
+42 43 44 45 46 47 48 49 50 51 52 53 90 273 274 275 276 277 798 1215 1216 1217 1218 1219 1220 1221 1225 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1285 1286 1287 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 
+426 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1206 
+426 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1206 1255 
+426 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1255 
+426 537 538 539 540 541 542 543 545 546 547 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1255 
+426 537 538 539 540 549 550 551 552 553 554 555 1167 1168 1169 
+426 554 555 1206 
+426 554 555 556 557 558 559 560 561 1167 1168 1169 1206 1255 
+426 554 555 556 557 558 559 560 561 1167 1168 1169 1255 
+427 428 429 430 431 432 433 434 435 436 437 438 439 440 
+4 5 6 7 8 9 285 478 479 
+486 487 488 1012 1013 1156 
+486 487 488 1156 
+488 
+490 491 492 493 494 495 496 497 498 
+499 500 
+499 500 1257 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 1206 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1170 1171 1206 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1170 1171 1206 1255 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 1167 1168 1169 1206 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1167 1168 1169 1170 1171 1206 1255 
+537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 1256 
+537 549 550 551 552 553 554 555 1167 1168 1169 
+538 
+538 539 540 
+538 539 540 541 542 543 549 553 554 555 1167 1168 1169 1170 1171 
+549 550 551 
+550 551 
+554 555 1167 1168 1169 1170 1171 1206 
+554 555 1167 1168 1169 1170 1171 1206 1255 
+554 555 1167 1168 1169 1206 
+562 624 
+57 1673 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 
+623 640 
+632 636 680 681 1158 1159 1160 1161 1162 
+641 
+641 642 
+655 656 657 658 659 660 661 662 663 664 665 666 
+667 668 
+669 670 
+671 672 673 674 675 676 677 678 679 680 681 682 683 684 
+80 
+80 261 262 263 264 265 266 
+806 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 
+89 
+89 232 1668 1669 1670 1671 
+901 902 903 904 905 906 907 908 917 918 919 920 921 922 923 924 1342 1343 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1437 
+91 
+92 
+93 94 95 96 97 98 99 100 101 102 103 1061 1062 1063 1064 1065 1066 
+93 94 95 96 97 98 99 100 101 102 103 1061 1062 1064 1066 
+93 94 95 96 97 98 99 100 101 102 103 523 1061 1062 1063 1064 1065 1066 
diff --git a/Control/CxxUtils/test/CachedPointer_test.cxx b/Control/CxxUtils/test/CachedPointer_test.cxx
new file mode 100644
index 00000000000..d40826d7ec1
--- /dev/null
+++ b/Control/CxxUtils/test/CachedPointer_test.cxx
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+
+// $Id$
+/**
+ * @file CxxUtils/CachedPointer_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Unit tests for CachedPointer
+ */
+
+
+#undef NDEBUG
+#include "CxxUtils/CachedPointer.h"
+#include <vector>
+#include <iostream>
+#include <cassert>
+#include <thread>
+#include <shared_mutex>
+
+
+// Basic tests.
+void test1()
+{
+  std::cout << "test1\n";
+  int x1 = 0;
+  int x2 = 0;
+  int x4 = 0;
+
+  CxxUtils::CachedPointer cp1;
+  assert (!cp1.get());
+  cp1.store (&x1);
+  assert (cp1.get() == &x1);
+  assert (*cp1.ptr() == &x1);
+  cp1.store (nullptr);
+  assert (!cp1.get());
+
+  CxxUtils::CachedPointer cp2 (&x2);
+  assert (cp2.get() == &x2);
+  assert (*cp2.ptr() == &x2);
+
+  cp1 = cp2;
+  assert (cp1.get() == &x2);
+  assert (*cp1.ptr() == &x2);
+
+  cp2.store (nullptr);
+  assert (!cp2.get());
+  cp1 = cp2;
+  assert (!cp1.get());
+
+  const CxxUtils::CachedPointer cp3 (cp1);
+  assert (!cp3.get());
+  cp3.set (&x4);
+  assert (cp3.get() == &x4);
+  assert (*cp3.ptr() == &x4);
+  const CxxUtils::CachedPointer cp4 (cp3);
+  assert (cp4.get() == &x4);
+  assert (*cp4.ptr() == &x4);
+}
+
+
+class ThreadingTest
+{
+public:
+  static const int NVAL = 10;
+  CxxUtils::CachedPointer m_vals[10];
+  std::shared_timed_mutex m_sm;
+  int m_x[NVAL] = {0};
+
+  void threadedTest();
+
+  struct writerThread
+  {
+    writerThread (ThreadingTest& test, int iworker)
+      : m_test (test), m_iworker (iworker) {}
+    void operator()();
+    ThreadingTest& m_test;
+    int m_iworker;
+  };
+
+  
+  struct readerThread
+  {
+    readerThread (ThreadingTest& test, int iworker)
+      : m_test (test), m_iworker (iworker) {}
+    void operator()();
+    ThreadingTest& m_test;
+    int m_iworker;
+  };
+};
+
+
+void ThreadingTest::writerThread::operator()()
+{
+  int i = m_iworker;
+  do {
+    m_test.m_vals[i].set (&m_test.m_x[i]);
+    i++;
+    if (i >= NVAL) i = 0;
+  } while (i != m_iworker);
+}
+
+
+void ThreadingTest::readerThread::operator()()
+{
+  bool checked[NVAL] = {false};
+  int nchecked = 0;
+  while (nchecked < NVAL) {
+    int i = m_iworker;
+    do {
+      if (!checked[i] && m_test.m_vals[i].get() != nullptr) {
+        assert (m_test.m_vals[i].get() == &m_test.m_x[i]);
+        checked[i] = true;
+        ++nchecked;
+      }
+      i++;
+      if (i >= NVAL) i = 0;
+    } while (i != m_iworker);
+  }
+}
+
+
+void ThreadingTest::threadedTest()
+{
+  for (int i=0; i < NVAL; i++) {
+    m_vals[i].store (nullptr);
+  }
+
+  const int nthread = 10;
+  std::thread threads[nthread];
+  m_sm.lock();
+
+  for (int i=0; i < nthread; i++) {
+    if (i < 3) {
+      threads[i] = std::thread (writerThread (*this, i));
+    }
+    else {
+      threads[i] = std::thread (readerThread (*this, i));
+    }
+  }
+
+  // Try to get the threads starting as much at the same time as possible.
+  m_sm.unlock();
+  for (int i=0; i < nthread; i++)
+    threads[i].join();
+}
+
+
+// Threading test.
+void test2()
+{
+  std::cout << "test2\n";
+
+  ThreadingTest test;
+  for (int i=0; i < 20; i++)
+    test.threadedTest();
+}
+
+
+int main()
+{
+  test1();
+  test2();
+  return 0;
+}
diff --git a/Control/CxxUtils/test/CachedValue_test.cxx b/Control/CxxUtils/test/CachedValue_test.cxx
new file mode 100644
index 00000000000..46f446f017a
--- /dev/null
+++ b/Control/CxxUtils/test/CachedValue_test.cxx
@@ -0,0 +1,258 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+
+// $Id$
+/**
+ * @file CxxUtils/CachedValue_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Sep, 2017
+ * @brief Unit tests for CachedValue
+ */
+
+
+#undef NDEBUG
+#include "CxxUtils/CachedValue.h"
+#include <vector>
+#include <iostream>
+#include <cassert>
+#include <thread>
+#include <shared_mutex>
+
+
+// Attempting to test atomic updating.
+struct Payload
+{
+  static const size_t SIZE=10000000;
+  Payload (int x=0) : m_x(SIZE) { set(x); }
+  void set (int x);
+  void check (int x) const;
+  bool valid() const { return !m_x.empty(); }
+  operator int() const { return m_x[0]; }
+  std::vector<int> m_x;
+};
+
+
+void Payload::set (int x)
+{
+  m_x.resize (SIZE);
+  for (size_t i=0; i < SIZE; i++)
+    m_x[i] = x;
+}
+
+
+void Payload::check (int x) const
+{
+  for (int i=SIZE-1; i >= 0; i--) {
+    assert (m_x.size() == SIZE);
+    int xx = m_x[i];
+    assert (xx == x);
+  }
+}
+
+
+// Basic tests.
+void test1()
+{
+  std::cout << "test1\n";
+  CxxUtils::CachedValue<Payload> cv1;
+  assert (!cv1.isValid());
+  cv1.store (Payload(1));
+  assert (cv1.isValid());
+  cv1.ptr()->check(1);
+  cv1.reset();
+  assert (!cv1.isValid());
+
+  CxxUtils::CachedValue<Payload> cv2 (Payload (2));
+  assert (cv2.isValid());
+  cv2.ptr()->check(2);
+
+  cv1 = cv2;
+  assert (cv1.isValid());
+  cv1.ptr()->check(2);
+
+  cv2.reset();
+  assert (!cv2.isValid());
+  cv1 = cv2;
+  assert (!cv1.isValid());
+
+  const CxxUtils::CachedValue<Payload> cv3 (cv1);
+  assert (!cv3.isValid());
+  cv3.set (Payload(4));
+  assert (cv3.isValid());
+  cv3.ptr()->check(4);
+  const CxxUtils::CachedValue<Payload> cv4 (cv3);
+  assert (cv4.isValid());
+  cv4.ptr()->check(4);
+}
+
+
+// Move operations.
+void test2()
+{
+  std::cout << "test2\n";
+
+  Payload p1(1);
+  assert (p1.valid());
+  
+  CxxUtils::CachedValue<Payload> cv1 (std::move (p1));
+  assert (cv1.isValid());
+  cv1.ptr()->check(1);
+  assert (!p1.valid());
+
+  CxxUtils::CachedValue<Payload> cv2 (std::move (cv1));
+  assert (cv2.isValid());
+  cv2.ptr()->check(1);
+  assert (!cv1.isValid());
+  assert (!cv1.ptr()->valid());
+
+  CxxUtils::CachedValue<Payload> cv3 (std::move (cv1));
+  assert (!cv3.isValid());
+
+  cv1 = std::move (cv2);
+  assert (cv1.isValid());
+  cv1.ptr()->check(1);
+  assert (!cv2.isValid());
+  assert (!cv2.ptr()->valid());
+
+  cv1 = std::move (cv3);
+  assert (!cv1.isValid());
+  assert (!cv3.isValid());
+
+  Payload p2(2);
+  cv1.store (std::move (p2));
+  assert (cv1.isValid());
+  cv1.ptr()->check(2);
+  assert (!p2.valid());
+
+  Payload p3(3);
+  cv2.set (std::move (p3));
+  assert (cv2.isValid());
+  cv2.ptr()->check(3);
+  assert (!p3.valid());
+}
+
+
+class ThreadingTest
+{
+public:
+  static const int NVAL = 10;
+  CxxUtils::CachedValue<Payload> m_vals[10];
+  std::shared_timed_mutex m_sm;
+
+  void threadedTest();
+
+  struct writerThread
+  {
+    writerThread (ThreadingTest& test, int iworker)
+      : m_test (test), m_iworker (iworker) {}
+    void operator()();
+    ThreadingTest& m_test;
+    int m_iworker;
+  };
+
+  
+  struct readerThread
+  {
+    readerThread (ThreadingTest& test, int iworker)
+      : m_test (test), m_iworker (iworker) {}
+    void operator()();
+    ThreadingTest& m_test;
+    int m_iworker;
+  };
+};
+
+
+void ThreadingTest::writerThread::operator()()
+{
+  int i = m_iworker;
+  do {
+    Payload p(i+1);
+    if (i%3 == 0) {
+      m_test.m_vals[i].set (std::move (p));
+    }
+    else {
+      m_test.m_vals[i].set (p);
+    }
+    i++;
+    if (i >= NVAL) i = 0;
+  } while (i != m_iworker);
+}
+
+
+void ThreadingTest::readerThread::operator()()
+{
+  bool checked[NVAL] = {false};
+  int nchecked = 0;
+  while (nchecked < NVAL) {
+    int i = m_iworker;
+    do {
+      if (!checked[i] && m_test.m_vals[i].isValid()) {
+        m_test.m_vals[i].ptr()->check (i+1);
+        checked[i] = true;
+        ++nchecked;
+      }
+      i++;
+      if (i >= NVAL) i = 0;
+    } while (i != m_iworker);
+  }
+}
+
+
+void ThreadingTest::threadedTest()
+{
+  for (int i=0; i < NVAL; i++) {
+    m_vals[i].reset();
+  }
+
+  const int nthread = 10;
+  std::thread threads[nthread];
+  m_sm.lock();
+
+  for (int i=0; i < nthread; i++) {
+    if (i < 3) {
+      threads[i] = std::thread (writerThread (*this, i));
+    }
+    else {
+      threads[i] = std::thread (readerThread (*this, i));
+    }
+  }
+
+  // Try to get the threads starting as much at the same time as possible.
+  m_sm.unlock();
+  for (int i=0; i < nthread; i++)
+    threads[i].join();
+}
+
+
+// Conversion test.
+void test3()
+{
+  std::cout << "test3\n";
+  CxxUtils::CachedValue<Payload> cv1 (Payload (1));
+  CxxUtils::CachedValue<int> cv2 (cv1);
+  assert (cv2.isValid());
+  assert (*cv2.ptr() == 1);
+}
+
+
+// Threading test.
+void test4()
+{
+  std::cout << "test4\n";
+
+  ThreadingTest test;
+  for (int i=0; i < 5; i++) {
+    test.threadedTest();
+  }
+}
+
+
+int main()
+{
+  test1();
+  test2();
+  test3();
+  test4();
+  return 0;
+}
diff --git a/Control/CxxUtils/test/ConcurrentBitset_test.cxx b/Control/CxxUtils/test/ConcurrentBitset_test.cxx
new file mode 100644
index 00000000000..eb8f9535b78
--- /dev/null
+++ b/Control/CxxUtils/test/ConcurrentBitset_test.cxx
@@ -0,0 +1,1150 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+
+// $Id$
+/**
+ * @file CxxUtils/test/ConcurrentBitset_test.cxx
+ * @author scott snyder
+ * @date Nov, 2017
+ * @brief Regression test for ConcurrentBitset.
+ */
+
+
+#undef NDEBUG
+#include "CxxUtils/ConcurrentBitset.h"
+#include "CxxUtils/checker_macros.h"
+#include "TestTools/random.h"
+#include "tbb/concurrent_unordered_set.h"
+#include "boost/timer/timer.hpp"
+#ifdef HAVE_CK
+extern "C" {
+#include "ck_hs.h"
+#include "ck_bitmap.h"
+}
+#endif
+#include <mutex>
+#include <thread>
+#include <bitset>
+#include <shared_mutex>
+#include <algorithm>
+#include <vector>
+#include <string>
+#include <set>
+#include <unordered_set>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+#include <cassert>
+#include <cstring>
+
+
+// Basic tests.
+void test_basic()
+{
+  std::cout << "test_basic\n";
+
+  CxxUtils::ConcurrentBitset bs0;
+  assert (bs0.capacity() == 0);
+  assert (bs0.size() == 0);
+  assert (bs0.count() == 0);
+  assert (!bs0.test(0));
+  assert (bs0.empty());
+
+  CxxUtils::ConcurrentBitset bs (128);
+  assert (bs.capacity() == 128);
+  assert (bs.size() == 0);
+  assert (bs.count() == 0);
+  assert (bs.empty());
+
+  // set, test, reset, etc.
+  assert (!bs.test (10));
+  assert (!bs.test (20));
+  assert (!bs.test (30));
+  bs.set (10);
+  bs.set (30);
+  assert (bs.test (10));
+  assert (!bs.test (20));
+  assert (bs.test (30));
+  assert (bs.size() == 2);
+  assert (!bs.empty());
+
+  bs.insert (100);
+  assert (bs.count (100) == 1);
+  assert (bs.count (101) == 0);
+  assert (bs.count() == 3);
+
+  bs.reset (30);
+  assert (!bs.test (30));
+  assert (bs.size() == 2);
+
+  bs.flip (110);
+  assert (bs.test (110));
+  assert (bs.size() == 3);
+  bs.flip (10);
+  assert (!bs.test (10));
+  assert (bs.size() == 2);
+
+  bs.set (10, true);
+  assert (bs.test (10));
+  assert (bs.size() == 3);
+  bs.set (10, false);
+  assert (!bs.test (10));
+  assert (bs.size() == 2);
+
+  // Set to all / clear.
+  bs.reset();
+  assert (bs.size() == 0);
+  assert (!bs.test (10));
+  assert (!bs.test (50));
+  assert (!bs.test (100));
+  assert (!bs.test (101));
+
+  bs.set();
+  assert (bs.size() == 128);
+  assert (bs.test (10));
+  assert (bs.test (50));
+  assert (bs.test (100));
+  assert (bs.test (101));
+
+  bs.clear();
+  assert (bs.size() == 0);
+  assert (!bs.test (10));
+  assert (!bs.test (50));
+  assert (!bs.test (100));
+  assert (!bs.test (101));
+}
+
+
+// Reference.
+void test_reference()
+{
+  std::cout << "test_reference\n";
+
+  CxxUtils::ConcurrentBitset bs (128);
+  const CxxUtils::ConcurrentBitset& cbs = bs;
+
+  assert (!bs[10]);
+  assert (!cbs[10]);
+  assert (~bs[10]);
+
+  bs[10] = true;
+  assert (cbs[10]);
+  assert (bs.count() == 1);
+
+  bs[20] = bs[10];
+  assert (cbs[10]);
+  assert (cbs[20]);
+  assert (bs.count() == 2);
+
+  bs[20] = bs[21];
+  assert (cbs[10]);
+  assert (!cbs[20]);
+  assert (bs.count() == 1);
+
+  bs[30].flip();
+  assert (cbs[10]);
+  assert (!cbs[20]);
+  assert (cbs[30]);
+  assert (bs.count() == 2);
+
+  bs[10] = false;
+  assert (!cbs[10]);
+  assert (!cbs[20]);
+  assert (cbs[30]);
+  assert (bs.count() == 1);
+}
+
+
+// Iterate.
+void test_iterate()
+{
+  std::cout << "test_iterate\n";
+
+  CxxUtils::ConcurrentBitset bs0;
+  CxxUtils::ConcurrentBitset::const_iterator beg = bs0.begin();
+  CxxUtils::ConcurrentBitset::const_iterator end = bs0.end();
+  for (; beg != end; ++beg)
+    std::cout << "elt\n";
+  
+  //std::vector<size_t> v0 (bs0.begin(), bs0.end());
+  //assert (v0.empty());
+
+  CxxUtils::ConcurrentBitset bs (2048);
+  bs.set (100);
+  bs.set (200);
+  bs.set (300);
+  bs.set (400);
+
+  std::vector<size_t> v1 (bs.begin(), bs.end());
+  assert (v1 == (std::vector<size_t> {100, 200, 300, 400}));
+
+  bs.set (1000);
+  std::vector<size_t> v2 (bs.begin(), bs.end());
+  assert (v2 == (std::vector<size_t> {100, 200, 300, 400, 1000}));
+
+  bs.reset (200);
+  std::vector<size_t> v3 (bs.begin(), bs.end());
+  assert (v3 == (std::vector<size_t> {100, 300, 400, 1000}));
+
+  bs.reset (1000);
+  std::vector<size_t> v4 (bs.begin(), bs.end());
+  assert (v4 == (std::vector<size_t> {100, 300, 400}));
+
+  bs.set (0);
+  bs.set (2047);
+  std::vector<size_t> v5 (bs.begin(), bs.end());
+  assert (v5 == (std::vector<size_t> {0, 100, 300, 400, 2047}));
+
+  bs.set (101);
+  bs.set (102);
+  bs.set (103);
+  std::vector<size_t> v6 (bs.begin(), bs.end());
+  assert (v6 == (std::vector<size_t> {0, 100, 101, 102, 103, 300, 400, 2047}));
+
+  bs.set (3);
+  std::vector<size_t> v7 (bs.begin(), bs.end());
+  assert (v7 == (std::vector<size_t> {0, 3, 100, 101, 102, 103, 300, 400, 2047}));
+
+  bs.set (1);
+  std::vector<size_t> v8 (bs.begin(), bs.end());
+  assert (v8 == (std::vector<size_t> {0, 1, 3, 100, 101, 102, 103, 300, 400, 2047}));
+
+  bs.set (64);
+  std::vector<size_t> v9 (bs.begin(), bs.end());
+  assert (v9 == (std::vector<size_t> {0, 1, 3, 64, 100, 101, 102, 103, 300, 400, 2047}));
+
+  bs.set (65);
+  std::vector<size_t> v10 (bs.begin(), bs.end());
+  assert (v10 == (std::vector<size_t> {0, 1, 3, 64, 65, 100, 101, 102, 103, 300, 400, 2047}));
+
+  bs.set (63);
+  std::vector<size_t> v11 (bs.begin(), bs.end());
+  assert (v11 == (std::vector<size_t> {0, 1, 3, 63, 64, 65, 100, 101, 102, 103, 300, 400, 2047}));
+
+  bs.reset (0);
+  bs.reset (1);
+  std::vector<size_t> v12 (bs.begin(), bs.end());
+  assert (v12 == (std::vector<size_t> {3, 63, 64, 65, 100, 101, 102, 103, 300, 400, 2047}));
+}
+
+
+// Find.
+void test_find()
+{
+  std::cout << "test_find\n";
+
+  CxxUtils::ConcurrentBitset bs (2048);
+  assert (bs.find (123) == bs.end());
+
+  bs.set (0);
+  bs.set (63);
+  bs.set (64);
+  bs.set (65);
+  bs.set (2047);
+  std::vector<size_t> v0 (bs.find(0), bs.end());
+  assert (v0 == (std::vector<size_t> {0, 63, 64, 65, 2047}));
+  std::vector<size_t> v1 (bs.find(63), bs.end());
+  assert (v1 == (std::vector<size_t> {63, 64, 65, 2047}));
+  std::vector<size_t> v2 (bs.find(64), bs.end());
+  assert (v2 == (std::vector<size_t> {64, 65, 2047}));
+  std::vector<size_t> v3 (bs.find(65), bs.end());
+  assert (v3 == (std::vector<size_t> {65, 2047}));
+  std::vector<size_t> v4 (bs.find(2047), bs.end());
+  assert (v4 == (std::vector<size_t> {2047}));
+}
+
+
+// Insert.
+void test_insert()
+{
+  std::cout << "test_insert\n";
+
+  CxxUtils::ConcurrentBitset bs (3);
+  assert (bs.capacity() == 3);
+
+  assert (!bs.test (35));
+  bs.set (35);
+  assert (!bs.test (35));
+  assert (bs.capacity() == 3);
+
+  bs.insert (35);
+  assert (bs.test (35));
+  assert (bs.capacity() == 128);
+
+  assert (!bs.test (300));
+  bs.set (300);
+  assert (!bs.test (300));
+  assert (bs.capacity() == 128);
+
+  bs.insert (300);
+  assert (bs.test (300));
+  assert (bs.capacity() == 640);
+
+  bs.emptyGarbage();
+
+  CxxUtils::ConcurrentBitset bs2 (1024);
+  std::vector<size_t> v2 { 4, 10, 100, 500 };
+  bs2.insert (v2.begin(), v2.end());
+  assert (bs2.size() == 4);
+  assert (bs2.test (4));
+  assert (bs2.test (10));
+  assert (bs2.test (100));
+  assert (bs2.test (500));
+
+  bs2.insert ({ 10, 11, 12});
+  std::vector<size_t> v3 (bs2.begin(), bs2.end());
+  assert (v3 == (std::vector<size_t> {4, 10, 11, 12, 100, 500}));
+
+  bs2.insert ({ 3000, 3001 });
+  std::vector<size_t> v4 (bs2.begin(), bs2.end());
+  assert (v4 == (std::vector<size_t> {4, 10, 11, 12, 100, 500, 3000, 3001}));
+
+  CxxUtils::ConcurrentBitset bs3 (128);
+  bs3.insert ({3, 10, 100});
+  CxxUtils::ConcurrentBitset bs4 (256);
+  bs4.insert ({2, 10, 200});
+
+  bs3.insert (bs4);
+  std::vector<size_t> v5 (bs3.begin(), bs3.end());
+  assert (v5 == (std::vector<size_t> {2, 3, 10, 100, 200}));
+}
+
+
+// Copy/assign
+void test_copy()
+{
+  std::cout << "test_copy\n";
+
+  CxxUtils::ConcurrentBitset bs1 (128);
+  assert (bs1.capacity() == 128);
+  bs1.set (5);
+  bs1.set (45);
+  bs1.set (87);
+
+  CxxUtils::ConcurrentBitset bs2 (bs1);
+  assert (bs2.capacity() == 128);
+  assert (bs2.count() == 3);
+  assert (bs2.test(5));
+  assert (bs2.test(45));
+  assert (!bs2.test(46));
+  assert (bs2.test(87));
+
+  bs2.insert (500, 1024);
+  assert (bs2.capacity() == 1024);
+  assert (bs2.test(500));
+
+  bs2 = bs1;
+  assert (bs2.capacity() == 1024);
+  assert (bs2.test(5));
+  assert (bs2.test(45));
+  assert (!bs2.test(46));
+  assert (bs2.test(87));
+  assert (!bs2.test(500));
+
+  bs2.set (501);
+  bs1 = bs2;
+  assert (bs1.capacity() == 1024);
+  assert (bs1.test(5));
+  assert (bs1.test(45));
+  assert (!bs1.test(46));
+  assert (bs1.test(87));
+  assert (!bs1.test(500));
+  assert (bs1.test(501));
+
+  CxxUtils::ConcurrentBitset bs3;
+  bs3 = bs1;
+  std::vector<size_t> v3 (bs3.begin(), bs3.end());
+  assert (v3 == (std::vector<size_t> {5, 45, 87, 501}));
+}
+
+
+// Initializer list
+void test_initlist()
+{
+  std::cout << "test_initlist\n";
+
+  CxxUtils::ConcurrentBitset bs1 { 10, 50 };
+  assert (bs1.size() == 2);
+  assert (bs1.test (10));
+  assert (!bs1.test (9));
+  assert (bs1.test (50));
+  assert (bs1.capacity() == 64);
+
+  CxxUtils::ConcurrentBitset bs2 { 10, 40, 90, 100 };
+  assert (bs2.size() == 4);
+  assert (bs2.test (10));
+  assert (bs2.test (40));
+  assert (bs2.test (90));
+  assert (bs2.test (100));
+  assert (!bs2.test (9));
+  assert (!bs2.test (91));
+  assert (bs2.capacity() == 128);
+}
+
+
+// Comparison
+void test_compare()
+{
+  std::cout << "test_compare\n";
+
+  CxxUtils::ConcurrentBitset bs1 { 10, 40, 50, 60 };
+  CxxUtils::ConcurrentBitset bs2 { 10, 40, 50, 60 };
+
+  assert (bs1 == bs2);
+  assert (!(bs1 != bs2));
+
+  bs1.set (15);
+  assert (!(bs1 == bs2));
+  assert (bs1 != bs2);
+
+  bs2.set (15);
+  assert (bs1 == bs2);
+  assert (!(bs1 != bs2));
+
+  bs1.insert (1000);
+  assert (!(bs1 == bs2));
+  assert (bs1 != bs2);
+  bs1.reset (1000);
+  assert (bs1 == bs2);
+  assert (!(bs1 != bs2));
+
+  bs2.insert (2000);
+  assert (!(bs1 == bs2));
+  assert (bs1 != bs2);
+  bs2.reset (2000);
+  assert (bs1 == bs2);
+  assert (!(bs1 != bs2));
+
+  bs1.insert (2000);
+  bs2.insert (2000);
+  assert (bs1 == bs2);
+  assert (!(bs1 != bs2));
+}
+
+
+// Operators
+void test_operators()
+{
+  std::cout << "test_operators\n";
+
+  CxxUtils::ConcurrentBitset bs1 (256);
+  CxxUtils::ConcurrentBitset bs2 (128);
+
+  bs1.insert ({2, 10, 50, 70, 100, 150, 200});
+  bs2.insert ({2, 12, 48, 70, 100});
+
+  assert ((bs1 &= bs2).size() == 3);
+  std::vector<size_t> v1 (bs1.begin(), bs1.end());
+  assert (v1 == (std::vector<size_t> {2, 70, 100}));
+
+  bs1.insert ({2, 10, 50, 70, 100, 150, 200});
+  assert ((bs1 |= bs2).size() == 9);
+  std::vector<size_t> v2 (bs1.begin(), bs1.end());
+  assert (v2 == (std::vector<size_t> {2, 10, 12, 48, 50, 70, 100, 150, 200}));
+
+  assert ((bs1 ^= bs2).size() == 4);
+  std::vector<size_t> v3 (bs1.begin(), bs1.end());
+  assert (v3 == (std::vector<size_t> {10, 50, 150, 200}));
+
+  bs2.insert ({50, 150});
+  assert ((bs1 -= bs2).size() == 2);
+  std::vector<size_t> v4 (bs1.begin(), bs1.end());
+  assert (v4 == (std::vector<size_t> {10, 200}));
+
+  bs1.flip();
+  std::vector<size_t> v5;
+  for (size_t i = 0; i < 256; i++) {
+    if (!bs1.test (i)) v5.push_back (i);
+  }
+  assert (v5 == (std::vector<size_t> {10, 200}));
+
+  CxxUtils::ConcurrentBitset bs4 = ~bs1;
+  std::vector<size_t> v6 (bs4.begin(), bs4.end());
+  assert (v6 == (std::vector<size_t> {10, 200}));
+}
+
+
+// any/all/none/empty
+void test_anyall()
+{
+  std::cout << "test_anyall\n";
+
+  CxxUtils::ConcurrentBitset bs (128);
+  assert (bs.none());
+  assert (bs.empty());
+  assert (!bs.all());
+  assert (!bs.any());
+}
+
+
+//************************ MT test.
+
+
+//  Have N threads, M bitsets.
+//  Within each bitset, thread i accesses bits b where b mod N == i.
+//  Thread i can expand bitset s where s mod N == i.
+//  Each thread has a set of random bitstrings.
+//  It fills all bitsets with strings, checks them, then rotates the strings.
+
+
+std::shared_timed_mutex start_mutex;
+
+
+class test_mt_Thread
+{
+public:
+  static constexpr const size_t maxbit = 65536;
+  static constexpr const float prob = 0.2;
+  static const int niter = 500;
+
+  test_mt_Thread (int slot, int nsets, int nslots,
+                std::vector<CxxUtils::ConcurrentBitset>& sets,
+                std::mutex* mutexes);
+  void operator()();
+  void dowrite (int iset, int irand,
+                CxxUtils::ConcurrentBitset& flipsave);
+
+  
+private:
+  int m_slot;
+  int m_nsets;
+  int m_nslots;
+  std::vector<CxxUtils::ConcurrentBitset>& m_sets;
+  std::mutex* m_mutexes;
+  typedef std::bitset<maxbit> randset_t;
+  std::vector<randset_t> m_rands;
+};
+constexpr const size_t test_mt_Thread::maxbit;
+
+
+test_mt_Thread::test_mt_Thread (int slot,
+                            int nsets,
+                            int nslots,
+                            std::vector<CxxUtils::ConcurrentBitset>& sets,
+                            std::mutex* mutexes)
+  : m_slot (slot),
+    m_nsets (nsets),
+    m_nslots (nslots),
+    m_sets (sets),
+    m_mutexes (mutexes)
+{
+  uint32_t seed = (slot+1) * 2531;
+  m_rands.resize (nsets);
+  for (int i=0; i < nsets; i++) {
+    for (size_t j=0; j < maxbit; j++) {
+      if (Athena_test::randf_seed (seed, 1.0) < prob) {
+        m_rands[i].set (j);
+      }
+    }
+  }
+}
+
+
+void test_mt_Thread::dowrite (int iset, int irand,
+                            CxxUtils::ConcurrentBitset& flipsave)
+{
+  CxxUtils::ConcurrentBitset& set = m_sets[iset];
+  randset_t& rand = m_rands[irand];
+  size_t nbits = set.capacity();
+  if (irand == 0) {
+    flipsave = set;
+    for (size_t ibit = m_slot; ibit < nbits; ibit += m_nslots) {
+      set.flip (ibit);
+    }
+  }
+  else {
+    for (size_t ibit = m_slot; ibit < nbits; ibit += m_nslots) {
+      if (rand.test(ibit)) {
+        set.set (ibit);
+      }
+      else {
+        set.reset (ibit);
+      }
+    }
+  }
+}
+
+
+void test_mt_Thread::operator()()
+{
+  std::shared_lock<std::shared_timed_mutex> lock (start_mutex);
+
+  int randoff = 0;
+  int expoff = m_slot;
+  for (int iter = 0; iter < niter; iter++) {
+
+    std::vector<size_t> sizes (m_nsets);
+    CxxUtils::ConcurrentBitset flipsave (maxbit);
+
+    // set
+    for (int iset = 0; iset < m_nsets; iset++) {
+      sizes[iset] = m_sets[iset].capacity();
+      int irand = (iset + randoff) % m_nsets;
+      std::lock_guard<std::mutex> lock (m_mutexes[iset]);
+      dowrite (iset, irand, flipsave);
+    }
+
+    // check
+    for (int iset = 0; iset < m_nsets; iset++) {
+      CxxUtils::ConcurrentBitset& set = m_sets[iset];
+      int irand = (iset + randoff) % m_nsets;
+      randset_t& rand = m_rands[irand];
+      size_t nbits = sizes[iset];
+      assert (nbits <= set.capacity());
+      if (irand == 0) {
+        for (size_t ibit = m_slot; ibit < nbits; ibit += m_nslots) {
+          if (flipsave.test (ibit)) {
+            assert (!set.test (ibit));
+          }
+          else {
+            assert (set.test (ibit));
+          }
+        }
+      }
+      else {
+        for (size_t ibit = m_slot; ibit < nbits; ibit += m_nslots) {
+          if (rand.test(ibit)) {
+            assert (set.test (ibit));
+          }
+          else {
+            assert (!set.test (ibit));
+          }
+        }
+      }
+    }
+
+    {
+      CxxUtils::ConcurrentBitset& set = m_sets[expoff];
+      size_t nbits = set.capacity();
+      if (nbits < maxbit) {
+        size_t newsize = std::min (nbits + 128, maxbit);
+        std::lock_guard<std::mutex> lock (m_mutexes[expoff]);
+        set.insert (newsize-1, newsize);
+      }
+
+      expoff += m_nslots;
+      if (expoff >= m_nsets) {
+        expoff = m_slot;
+      }
+    }
+
+    randoff++;
+    if (randoff >= m_nsets) randoff = 0;
+  }
+}
+
+
+void test_mt_iter()
+{
+  const int nthread = 4;
+  const int nsets = 100;
+
+  std::vector<CxxUtils::ConcurrentBitset> bitsets
+    (nsets, CxxUtils::ConcurrentBitset (128));
+  std::mutex mutexes[nsets];
+
+  std::thread threads[nthread];
+  start_mutex.lock();
+
+  for (int i=0; i < nthread; i++) {
+    threads[i] = std::thread (test_mt_Thread (i, nsets, nthread, bitsets, mutexes));
+  }
+
+  // Try to get the threads starting as much at the same time as possible.
+  start_mutex.unlock();
+  for (int i=0; i < nthread; i++) {
+    threads[i].join();
+  }
+}
+
+
+void test_mt()
+{
+  std::cout << "test_mt\n";
+
+  for (int i=0; i < 5; i++) {
+    test_mt_iter();
+  }
+}
+
+
+//************************ performance testing.
+
+
+class TestVectors
+{
+public:
+  typedef std::vector<size_t> vec_t;
+
+  void read (const std::string& fname);
+  size_t size() const { return m_vecs.size(); }
+  const vec_t& vec (size_t i) const
+  {
+    if (i >= m_vecs.size()) std::abort();
+    return m_vecs[i];
+  }
+
+  std::vector<vec_t>::const_iterator begin() const { return m_vecs.begin(); }
+  std::vector<vec_t>::const_iterator end() const { return m_vecs.end(); }
+
+private:
+  std::vector<vec_t> m_vecs;
+};
+
+
+void TestVectors::read (const std::string& fname)
+{
+  std::ifstream s (fname);
+  std::string str;
+  while (std::getline (s, str)) {
+    std::istringstream ss (str);
+    size_t id;
+    std::vector<size_t> v;
+    while (ss >> id) {
+      v.push_back (id);
+    }
+    m_vecs.push_back (std::move (v));
+  }
+}
+
+
+class SetAdapter
+  : public std::set<size_t>
+{
+public:
+  bool test (size_t id) const
+  {
+    return find(id) != end();
+  }
+  static std::string name() { return "set"; }
+};
+
+
+class USetAdapter
+  : public std::unordered_set<size_t>
+{
+public:
+  bool test (size_t id) const
+  {
+    return find(id) != end();
+  }
+  static std::string name() { return "unordered_set"; }
+};
+
+
+class CUSetAdapter
+  : public tbb::concurrent_unordered_set<size_t>
+{
+public:
+  bool test (size_t id) const
+  {
+    return find(id) != end();
+  }
+  static std::string name() { return "concurrent_unordered_set"; }
+};
+
+
+#ifdef HAVE_CK
+class CKHSAdapter
+{
+public:
+  CKHSAdapter();
+  CKHSAdapter (const CKHSAdapter& other);
+
+  static std::string name() { return "ck_hs"; }
+
+  void insert (size_t id)
+  {
+    if (!ck_hs_put (&m_hs, id, reinterpret_cast<const void*> (id))) {
+      std::cout << "ck_hs_put error\n";
+    }
+  }
+
+  bool test (size_t id) const
+  {
+    ck_hs_t* hs ATLAS_THREAD_SAFE = const_cast<ck_hs_t*>(&m_hs);
+    return ck_hs_get (hs, id, reinterpret_cast<const void*> (id)) != nullptr;
+  }
+
+
+  struct const_iterator
+    : public ck_hs_iterator_t
+  {
+    const_iterator(const ck_hs_t* hs) : m_hs (const_cast<ck_hs_t*>(hs))
+    { cursor = nullptr; offset = 0; }
+    const_iterator() : const_iterator(nullptr) {}
+    size_t operator* () const { return reinterpret_cast<size_t> (m_elt); }
+    const_iterator& operator++()
+    {
+      if (!ck_hs_next (m_hs, this, &m_elt)) {
+        cursor = nullptr;
+        offset = 0;
+      }
+      return *this;
+    }
+
+    bool operator== (const const_iterator& other) const
+    {
+      return cursor == other.cursor && offset == other.offset;
+    }
+    bool operator!= (const const_iterator& other) const
+    {
+      return !(*this == other);
+    }
+
+    ck_hs_t* m_hs;
+    void* m_elt = nullptr;
+  };
+
+
+  const_iterator begin() const
+  {
+    const_iterator it (&m_hs);
+    ++it;
+    return it;
+  }
+  const_iterator end() const { return const_iterator(); }
+
+
+private:
+  static unsigned long hash (const void* p, unsigned long /*seed*/)
+  { return reinterpret_cast<unsigned long> (p); }
+
+  static bool compare (const void* p1, const void* p2)
+  { return p1 == p2; }
+
+  static void hs_free (void *p, size_t /*b*/, bool /*r*/) { free(p); }
+
+  ck_malloc m_alloc;
+  ck_hs_t m_hs;
+};
+
+
+CKHSAdapter::CKHSAdapter()
+{
+  m_alloc.malloc = malloc;
+  m_alloc.free = hs_free;
+  if (!ck_hs_init (&m_hs,
+                   CK_HS_MODE_SPMC | CK_HS_MODE_DIRECT,
+                   hash, // ck_hs_hash_cb_t
+                   compare, // ck_hs_compare_cb_t
+                   &m_alloc, // ck_malloc*
+                   128, // initial size
+                   6602834))
+  {
+    std::cout << "ck_hs_init error\n";
+  }
+}
+
+
+CKHSAdapter::CKHSAdapter (const CKHSAdapter& other)
+  : CKHSAdapter()
+{
+  ck_hs_iterator it { nullptr, 0};
+  void* obj;
+  while (ck_hs_next (const_cast<ck_hs_t*>(&other.m_hs), &it, &obj)) {
+    insert (reinterpret_cast<size_t> (obj));
+  }
+}
+
+
+class CKBitmapAdapter
+{
+public:
+  typedef CK_BITMAP_INSTANCE(2048) Bitmap_t;
+
+  CKBitmapAdapter();
+  CKBitmapAdapter (const CKBitmapAdapter& other);
+
+  static std::string name() { return "ck_bitmap"; }
+
+  void insert (size_t id)
+  { CK_BITMAP_SET (&m_map, id); }
+
+  bool test (size_t id) const
+  { return CK_BITMAP_TEST (&m_map, id); }
+
+  struct const_iterator
+    : public ck_bitmap_iterator
+  {
+    const_iterator() : m_map(nullptr), m_bit(-1) {}
+    const_iterator (const Bitmap_t* map) : m_map(map), m_bit(0)
+    { CK_BITMAP_ITERATOR_INIT (this, map); }
+    size_t operator*() const { return m_bit; }
+    const_iterator& operator++()
+    {
+      if (!CK_BITMAP_NEXT (m_map, this, &m_bit)) {
+        m_bit = -1;
+      }
+      return *this;
+    }
+
+    bool operator!= (const const_iterator& /*other*/)
+    { return m_bit != static_cast<unsigned int>(-1); }
+
+
+  private:
+    const Bitmap_t* m_map;
+    unsigned int m_bit;
+  };
+
+  const_iterator begin() const
+  {
+    const_iterator it(&m_map);
+    ++it;
+    return it;
+  }
+  const_iterator end() const { return const_iterator(); }
+
+private:
+  Bitmap_t m_map;
+};
+
+
+CKBitmapAdapter::CKBitmapAdapter()
+{
+  CK_BITMAP_INIT (&m_map, 2048, false);
+}
+
+
+CKBitmapAdapter::CKBitmapAdapter (const CKBitmapAdapter& other)
+  : CKBitmapAdapter()
+{
+  CK_BITMAP_UNION (&m_map, &other.m_map);
+}
+#endif
+
+
+class ConcurrentBitsetAdapter
+  : public CxxUtils::ConcurrentBitset
+{
+public:
+  ConcurrentBitsetAdapter() : CxxUtils::ConcurrentBitset (2048) {}
+  static std::string name() { return "ConcurrentBitset"; }
+};
+
+
+class Timer
+{
+public:
+  Timer();
+
+  class RunTimer
+  {
+  public:
+    RunTimer (boost::timer::cpu_timer& timer) : m_timer (&timer)
+    { timer.resume(); }
+    RunTimer (RunTimer&& other) : m_timer (other.m_timer) { other.m_timer = nullptr; }
+    ~RunTimer() { if (m_timer) m_timer->stop(); }
+  private:
+    boost::timer::cpu_timer* m_timer;
+  };
+  RunTimer run() { return RunTimer (m_timer); }
+
+  std::string format() const { return m_timer.format(3); }
+
+private:
+  boost::timer::cpu_timer m_timer;
+};
+
+
+Timer::Timer()
+{
+  m_timer.stop();
+}
+
+
+class TesterBase
+{
+public:
+  TesterBase (const TestVectors& tv);
+
+  const TestVectors& tv() const { return m_tv; }
+
+  Timer::RunTimer run_fill_timer() { return m_fill_timer.run(); }
+  Timer::RunTimer run_copy_timer() { return m_copy_timer.run(); }
+  Timer::RunTimer run_iterate_timer() { return m_iterate_timer.run(); }
+  Timer::RunTimer run_lookup_timer() { return m_lookup_timer.run(); }
+
+  void report();
+
+private:
+  const TestVectors& m_tv;
+  Timer m_fill_timer;
+  Timer m_copy_timer;
+  Timer m_iterate_timer;
+  Timer m_lookup_timer;
+};
+
+
+TesterBase::TesterBase (const TestVectors& tv)
+  : m_tv (tv)
+{
+}
+
+
+void TesterBase::report()
+{
+  std::cout << "fill:    " << m_fill_timer.format();
+  std::cout << "copy:    " << m_copy_timer.format();
+  std::cout << "iterate: " << m_iterate_timer.format();
+  std::cout << "lookup:  " << m_lookup_timer.format();
+}
+
+
+template <class CONT>
+class Tester
+  : public TesterBase
+{
+public:
+  static const int NEACH = 1000;
+
+  Tester (const TestVectors& tv);
+  void fill_test();
+  void copy_test();
+  size_t iterate_test();
+  int lookup_test();
+
+  void test();
+  std::string name() { return CONT::name(); }
+
+private:
+  std::vector<CONT> m_conts;
+};
+
+
+template <class CONT>
+Tester<CONT>::Tester (const TestVectors& tv)
+  : TesterBase (tv),
+    m_conts (tv.size())
+{
+  for (size_t i = 0; i < tv.size(); i++) {
+    const TestVectors::vec_t& v = tv.vec(i);
+    for (size_t id : v) {
+      m_conts[i].insert (id);
+    }
+  }
+}
+
+
+template <class CONT>
+void Tester<CONT>::fill_test()
+{
+  auto timer = run_fill_timer();
+  for (int i=0; i < NEACH; i++) {
+    for (const TestVectors::vec_t& vec : tv()) {
+      CONT cont;
+      for (size_t id : vec) {
+        cont.insert (id);
+      }
+    }
+  }
+}
+
+
+template <class CONT>
+void Tester<CONT>::copy_test()
+{
+  auto timer = run_copy_timer();
+  for (const CONT& cont : m_conts) {
+    for (int i=0; i < NEACH; i++) {
+      CONT new_cont (cont);
+    }
+  }
+}
+
+
+template <class CONT>
+size_t Tester<CONT>::iterate_test()
+{
+  size_t tot = 0;
+  auto timer = run_iterate_timer();
+  for (int i=0; i < NEACH*10 * 10; i++) {
+    for (const CONT& cont : m_conts) {
+      for (size_t id : cont) {
+        tot += id;
+      }
+    }
+  }
+  return tot;
+}
+
+template <class CONT>
+int Tester<CONT>::lookup_test()
+{
+  int tot = 0;
+  auto timer = run_lookup_timer();
+  size_t sz = m_conts.size();
+  for (int j=0; j < NEACH; j++) {
+    for (size_t icont = 0; icont < sz; icont++) {
+      const CONT& cont = m_conts[icont];
+      const TestVectors::vec_t& vec = tv().vec(icont);
+      for (size_t id : vec) {
+        tot += cont.test (id);
+        tot += cont.test (id+1);
+      }
+    }
+  }
+  return tot;
+}
+
+
+template <class CONT>
+void Tester<CONT>::test()
+{
+  fill_test();
+  copy_test();
+  iterate_test();
+  lookup_test();
+}
+
+
+template <class CONT>
+void perftest_one (const TestVectors& tv)
+{
+  Tester<CONT> tester (tv);
+  std::cout << tester.name() << "\n";
+  tester.test();
+  tester.report();
+}
+
+
+void perftest (const char* setfile)
+{
+  TestVectors tv;
+  tv.read (setfile);
+
+  perftest_one<SetAdapter> (tv);
+  perftest_one<USetAdapter> (tv);
+  perftest_one<CUSetAdapter> (tv);
+#ifdef HAVE_CK 
+  perftest_one<CKHSAdapter> (tv);
+  perftest_one<CKBitmapAdapter> (tv);
+#endif
+  perftest_one<ConcurrentBitsetAdapter> (tv);
+}
+
+
+int main (int argc, char** argv)
+{
+  if (argc > 2 && strcmp (argv[1], "--perf") == 0) {
+    perftest (argv[2]);
+    return 0;
+  }
+
+  test_basic();
+  test_reference();
+  test_iterate();
+  test_find();
+  test_insert();
+  test_copy();
+  test_initlist();
+  test_compare();
+  test_operators();
+  test_anyall();
+  test_mt();
+  return 0;
+}
+
+    
diff --git a/Control/CxxUtils/test/ConcurrentRangeMap_test.cxx b/Control/CxxUtils/test/ConcurrentRangeMap_test.cxx
new file mode 100644
index 00000000000..702d424e638
--- /dev/null
+++ b/Control/CxxUtils/test/ConcurrentRangeMap_test.cxx
@@ -0,0 +1,619 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+
+// $Id$
+/**
+ * @file  CxxUtils/test/ConcurrentRangeMap_test.cxx
+ * @author scott snyder
+ * @date Nov, 2017
+ * @brief Regression test for ConcurrentRangeMap.
+ */
+
+
+#undef NDEBUG
+#include "CxxUtils/ConcurrentRangeMap.h"
+#include "TestTools/random.h"
+#include <mutex>
+#include <thread>
+#include <shared_mutex>
+#include <unordered_set>
+#include <cassert>
+#include <iostream>
+#include <cstdlib>
+
+
+const int nslots = 4;
+const int nwrites = 10000;
+const int ninflight = 10;
+
+
+typedef unsigned int Time;
+
+
+struct Range
+{
+  Range (Time begin=0, Time end=0) : m_begin(begin), m_end(end) {}
+  Time m_begin;
+  Time m_end;
+};
+
+
+struct RangeCompare
+{
+  bool operator() (Time t, const Range& r) const
+  { return t < r.m_begin; }
+  bool operator() (const Range& r1, const Range& r2) const
+  { return r1.m_begin < r2.m_begin; }
+};
+
+
+struct Payload
+{
+  typedef std::unordered_set<int> Hist;
+  Payload (int x, Hist* hist = nullptr)
+    : m_x(x), m_hist (hist) { if (m_hist) m_hist->insert (x); }
+  ~Payload()
+  {
+    if (m_hist) {
+      assert (m_hist->count (m_x) == 1);
+      m_hist->erase (m_x);
+    }
+  }
+  int m_x;
+  Hist* m_hist;
+};
+
+
+template <class T>
+class TestUpdater
+{
+public:
+  typedef int Context_t;
+
+  TestUpdater()
+    : m_p (nullptr),
+      m_inGrace (0)
+  {
+  }
+
+  TestUpdater (TestUpdater&& other)
+    : m_p (static_cast<T*> (other.m_p))
+  {
+  }
+
+  ~TestUpdater()
+  {
+    delete m_p;
+    for (T* p : m_garbage) delete p;
+  }
+
+  void update (std::unique_ptr<T> p, int slot = 0)
+  {
+    std::lock_guard<std::mutex> g (m_mutex);
+    if (m_p) m_garbage.push_back (m_p);
+    m_p = p.release();
+    m_inGrace = (~(1<<slot)) & ((1<<nslots)-1);
+  }
+
+  const T& get() const { return *m_p; }
+
+  void quiescent (int slot)
+  {
+    unsigned int mask = (1<<slot);
+    if ((m_inGrace & mask) == 0) return;
+    std::lock_guard<std::mutex> g (m_mutex);
+    m_inGrace &= ~mask;
+    if (!m_inGrace) {
+      for (T* p : m_garbage) delete p;
+      m_garbage.clear();
+    }
+  }
+
+  static int defaultContext() { return 0; }
+
+
+private:
+  std::mutex m_mutex;
+  std::atomic<T*> m_p;
+  std::vector<T*> m_garbage;
+  unsigned int m_inGrace;
+};
+
+
+typedef CxxUtils::ConcurrentRangeMap<Range, Time, Payload, RangeCompare,
+                                     TestUpdater>
+  TestMap;
+
+
+void test1()
+{
+  std::cout << "test1\n";
+  Payload::Hist phist;
+  {
+    TestMap map (TestMap::Updater_t(), 3);
+
+    assert (map.size() == 0);
+    assert (map.empty());
+    assert (map.range().empty());
+    assert (map.capacity() == 3);
+
+    //======
+
+    map.emplace (Range (10, 20), std::make_unique<Payload> (100, &phist));
+    // 10..20->100 - -
+    assert (map.capacity() == 3);
+    assert (map.size() == 1);
+    assert (!map.empty());
+    TestMap::const_iterator_range r = map.range();
+    assert (r.size() == 1);
+    assert (r.begin()->first.m_begin == 10);
+    assert (r.begin()->first.m_end == 20);
+    assert (r.begin()->second->m_x == 100);
+    assert (r.begin()+1 == r.end());
+
+    assert (map.find (15)->second->m_x == 100);
+    assert (map.find (5) == nullptr);
+    assert (map.find (25)->second->m_x == 100);
+
+    //======
+
+    map.emplace (Range (25, 30), std::make_unique<Payload> (200, &phist));
+    // 10..20->100 25..30->200 -
+    assert (map.capacity() == 3);
+    assert (map.size() == 2);
+    r = map.range();
+    assert (r.size() == 2);
+    assert (r.begin()->second->m_x == 100);
+    assert ((r.begin()+1)->second->m_x == 200);
+
+    assert (map.find (5) == nullptr);
+    assert (map.find (10)->second->m_x == 100);
+    assert (map.find (15)->second->m_x == 100);
+    assert (map.find (20)->second->m_x == 100);
+    assert (map.find (25)->second->m_x == 200);
+    assert (map.find (30)->second->m_x == 200);
+
+    //======
+
+    map.emplace (Range (30, 40), std::make_unique<Payload> (300, &phist));
+    // 10..20->100 25..30->200 30..40->300
+    assert (map.capacity() == 3);
+    assert (map.size() == 3);
+    r = map.range();
+    assert (r.size() == 3);
+    assert (r.begin()->second->m_x == 100);
+    assert ((r.begin()+1)->second->m_x == 200);
+    assert ((r.begin()+2)->second->m_x == 300);
+
+    assert (map.find (5) == nullptr);
+    assert (map.find (10)->second->m_x == 100);
+    assert (map.find (15)->second->m_x == 100);
+    assert (map.find (20)->second->m_x == 100);
+    assert (map.find (25)->second->m_x == 200);
+    assert (map.find (30)->second->m_x == 300);
+    assert (map.find (35)->second->m_x == 300);
+
+    //======
+
+    map.emplace (Range (50, 60), std::make_unique<Payload> (400, &phist));
+    // 10..20->100 25..30->200 30..40->300 50..60->400 - -
+    assert (map.capacity() == 6);
+    assert (map.size() == 4);
+    r = map.range();
+    assert (r.size() == 4);
+    assert (r.begin()->second->m_x == 100);
+    assert ((r.begin()+1)->second->m_x == 200);
+    assert ((r.begin()+2)->second->m_x == 300);
+    assert ((r.begin()+3)->second->m_x == 400);
+
+    assert (map.find (5) == nullptr);
+    assert (map.find (10)->second->m_x == 100);
+    assert (map.find (15)->second->m_x == 100);
+    assert (map.find (20)->second->m_x == 100);
+    assert (map.find (25)->second->m_x == 200);
+    assert (map.find (30)->second->m_x == 300);
+    assert (map.find (35)->second->m_x == 300);
+    assert (map.find (55)->second->m_x == 400);
+
+    //======
+
+    map.emplace (Range (40, 45), std::make_unique<Payload> (500, &phist));
+    // 10..20->100 25..30->200 30..40->300 40..45->500 50..60->400 - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 5);
+    r = map.range();
+    assert (r.size() == 5);
+    assert (r.begin()->second->m_x == 100);
+    assert ((r.begin()+1)->second->m_x == 200);
+    assert ((r.begin()+2)->second->m_x == 300);
+    assert ((r.begin()+3)->second->m_x == 500);
+    assert ((r.begin()+4)->second->m_x == 400);
+
+    assert (map.find (5) == nullptr);
+    assert (map.find (10)->second->m_x == 100);
+    assert (map.find (15)->second->m_x == 100);
+    assert (map.find (20)->second->m_x == 100);
+    assert (map.find (25)->second->m_x == 200);
+    assert (map.find (30)->second->m_x == 300);
+    assert (map.find (35)->second->m_x == 300);
+    assert (map.find (40)->second->m_x == 500);
+    assert (map.find (55)->second->m_x == 400);
+
+    //======
+
+    map.erase (15);
+    // - 25..30->200 30..40->300 40..45->500 50..60->400 - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 4);
+    r = map.range();
+    assert (r.size() == 4);
+    assert (r.begin()->second->m_x == 200);
+    assert ((r.begin()+1)->second->m_x == 300);
+    assert ((r.begin()+2)->second->m_x == 500);
+    assert ((r.begin()+3)->second->m_x == 400);
+
+    assert (map.find (5)  == nullptr);
+    assert (map.find (10) == nullptr);
+    assert (map.find (15) == nullptr);
+    assert (map.find (20) == nullptr);
+    assert (map.find (25)->second->m_x == 200);
+    assert (map.find (30)->second->m_x == 300);
+    assert (map.find (35)->second->m_x == 300);
+    assert (map.find (40)->second->m_x == 500);
+    assert (map.find (55)->second->m_x == 400);
+
+    //======
+
+    map.erase (25);
+    // - - 30..40->300 40..45->500 50..60->400 - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 3);
+    r = map.range();
+    assert (r.size() == 3);
+    assert (r.begin()->second->m_x == 300);
+    assert ((r.begin()+1)->second->m_x == 500);
+    assert ((r.begin()+2)->second->m_x == 400);
+
+    assert (map.find (5)  == nullptr);
+    assert (map.find (10) == nullptr);
+    assert (map.find (15) == nullptr);
+    assert (map.find (20) == nullptr);
+    assert (map.find (25) == nullptr);
+    assert (map.find (30)->second->m_x == 300);
+    assert (map.find (35)->second->m_x == 300);
+    assert (map.find (40)->second->m_x == 500);
+    assert (map.find (55)->second->m_x == 400);
+
+    //======
+
+    map.erase (40);
+    // 30..40->300 50..60->400 - - - - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 2);
+    r = map.range();
+    assert (r.size() == 2);
+    assert (r.begin()->second->m_x == 300);
+    assert ((r.begin()+1)->second->m_x == 400);
+
+    assert (map.find (5)  == nullptr);
+    assert (map.find (10) == nullptr);
+    assert (map.find (15) == nullptr);
+    assert (map.find (20) == nullptr);
+    assert (map.find (25) == nullptr);
+    assert (map.find (30)->second->m_x == 300);
+    assert (map.find (35)->second->m_x == 300);
+    assert (map.find (40)->second->m_x == 300);
+    assert (map.find (55)->second->m_x == 400);
+
+    //======
+
+    map.erase (35);
+    // - 50..60->400 - - - - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 1);
+    r = map.range();
+    assert (r.size() == 1);
+    assert (r.begin()->second->m_x == 400);
+
+    assert (map.find (40) == nullptr);
+    assert (map.find (55)->second->m_x == 400);
+
+    //======
+
+    map.erase (50);
+    // - - + - - - - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 0);
+    r = map.range();
+    assert (r.size() == 0);
+
+    assert (map.find (55) == nullptr);
+
+    //======
+
+    map.emplace (Range (70, 75), std::make_unique<Payload> (600, &phist));
+    // - - 70..75->600 - - - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 1);
+    r = map.range();
+    assert (r.size() == 1);
+    assert (r.begin()->second->m_x == 600);
+    assert (map.find (55) == nullptr);
+    assert (map.find (75)->second->m_x == 600);
+
+    //======
+
+    map.emplace (Range (75, 80), std::make_unique<Payload> (610, &phist));
+    map.emplace (Range (80, 85), std::make_unique<Payload> (620, &phist));
+    map.emplace (Range (85, 90), std::make_unique<Payload> (630, &phist));
+    map.emplace (Range (90, 93), std::make_unique<Payload> (640, &phist));
+    map.emplace (Range (93, 96), std::make_unique<Payload> (650, &phist));
+    // - - 70..75->600 75..80->610 80..85->620 85..90->630 90..93->640 93..96->650
+    assert (map.capacity() == 8);
+    assert (map.size() == 6);
+    r = map.range();
+    assert (r.size() == 6);
+    assert (r.begin()->second->m_x == 600);
+    assert ((r.begin()+1)->second->m_x == 610);
+    assert ((r.begin()+2)->second->m_x == 620);
+    assert ((r.begin()+3)->second->m_x == 630);
+    assert ((r.begin()+4)->second->m_x == 640);
+    assert ((r.begin()+5)->second->m_x == 650);
+
+    assert (map.find (60) == nullptr);
+    assert (map.find (70)->second->m_x == 600);
+    assert (map.find (77)->second->m_x == 610);
+    assert (map.find (84)->second->m_x == 620);
+    assert (map.find (85)->second->m_x == 630);
+    assert (map.find (92)->second->m_x == 640);
+    assert (map.find (94)->second->m_x == 650);
+    assert (map.find (99)->second->m_x == 650);
+
+    //======
+
+    map.erase (70);
+    map.erase (75);
+    map.erase (80);
+    map.erase (85);
+    map.erase (90);
+    // - - - - - - - 93..96->650
+    assert (map.capacity() == 8);
+    assert (map.size() == 1);
+    r = map.range();
+    assert (r.size() == 1);
+    assert (r.begin()->second->m_x == 650);
+
+    assert (map.find (92) == nullptr);
+    assert (map.find (94)->second->m_x == 650);
+    assert (map.find (99)->second->m_x == 650);
+
+    //======
+
+    map.emplace (Range (97, 99), std::make_unique<Payload> (660, &phist));
+    // 93..96->650 97..99->660 - - - - - -
+    assert (map.capacity() == 8);
+    assert (map.size() == 2);
+    r = map.range();
+    assert (r.size() == 2);
+    assert (r.begin()->second->m_x == 650);
+    assert ((r.begin()+1)->second->m_x == 660);
+    assert (map.find (92) == nullptr);
+    assert (map.find (94)->second->m_x == 650);
+    assert (map.find (99)->second->m_x == 660);
+
+    assert (!phist.empty());
+  }
+
+  assert (phist.empty());
+}
+
+
+std::shared_timed_mutex start_mutex;
+
+
+class test2_Base
+{
+public:
+  test2_Base (int slot);
+  int ctx() const { return m_slot; }
+  void setContext();
+
+  
+private:
+  int m_slot;
+};
+
+
+test2_Base::test2_Base (int slot)
+  : m_slot (slot)
+{
+}
+
+
+void test2_Base::setContext()
+{
+}
+
+
+
+class test2_Writer
+  : public test2_Base
+{
+public:
+  test2_Writer (int slot, TestMap& map);
+  void operator()();
+  Range makeRange (int i);
+
+private:
+  TestMap& m_map;
+};
+
+
+test2_Writer::test2_Writer (int slot, TestMap& map)
+  : test2_Base (slot),
+    m_map (map)
+{
+}
+
+
+void test2_Writer::operator()()
+{
+  setContext();
+  std::shared_lock<std::shared_timed_mutex> lock (start_mutex);
+
+  for (int i=0; i < nwrites; i++) {
+    if (i >= ninflight) {
+      Range rr = makeRange(i-ninflight);
+      m_map.erase (rr.m_begin, ctx());
+    }
+    Range r = makeRange(i);
+    m_map.emplace (r, std::make_unique<Payload> (i), ctx());
+    m_map.quiescent (ctx());
+    if (((i+1)%128) == 0) {
+      usleep (1000);
+    }
+  }
+}
+
+
+Range test2_Writer::makeRange (int i)
+{
+  return Range (i*10, (i+1)*10);
+}
+
+
+class test2_Iterator
+  : public test2_Base
+{
+public:
+  test2_Iterator (int slot, TestMap& map);
+  void operator()();
+
+private:
+  TestMap& m_map;
+};
+
+
+test2_Iterator::test2_Iterator (int slot, TestMap& map)
+  : test2_Base (slot),
+    m_map (map)
+{
+}
+
+
+void test2_Iterator::operator()()
+{
+  setContext();
+  std::shared_lock<std::shared_timed_mutex> lock (start_mutex);
+
+  bool full = false;
+  while (true) {
+    int sz = static_cast<int>(m_map.size());
+    if (full) {
+      assert (std::abs (sz - ninflight) <= 1);
+    }
+    TestMap::const_iterator_range r = m_map.range();
+    sz = r.size();
+    if (full) {
+      assert (std::abs (sz - ninflight) <= 1);
+    }
+
+    if (sz >= ninflight) {
+      full = true;
+    }
+
+    for (const TestMap::value_type& v : r) {
+      assert (static_cast<int>(v.first.m_begin) == static_cast<int>(v.second->m_x)*10);
+    }
+
+    if (sz > 0 && (r.end()-1)->second->m_x == nwrites-1) break;
+
+    m_map.quiescent (ctx());
+  }
+}
+
+
+class test2_Reader
+  : public test2_Base
+{
+public:
+  test2_Reader (int slot, TestMap& map);
+  void operator()();
+
+private:
+  TestMap& m_map;
+  uint32_t m_seed;
+};
+
+
+test2_Reader::test2_Reader (int slot, TestMap& map)
+  : test2_Base (slot),
+    m_map (map),
+    m_seed (slot * 123)
+{
+}
+
+
+void test2_Reader::operator()()
+{
+  setContext();
+  std::shared_lock<std::shared_timed_mutex> lock (start_mutex);
+
+  while (true) {
+    TestMap::const_iterator_range r = m_map.range();
+    if (r.empty()) continue;
+    int key = Athena_test::randi_seed (m_seed, (r.end()-1)->first.m_end-1, r.begin()->first.m_begin);
+    TestMap::const_iterator it = m_map.find (key);
+    if (!it) {
+      assert (key < static_cast<int> (m_map.range().begin()->first.m_begin));
+    }
+    else {
+      assert (key >= static_cast<int> (it->first.m_begin) &&
+              key < static_cast<int> (it->first.m_end));
+      assert (static_cast<int>(it->first.m_begin) == it->second->m_x*10);
+    }
+    
+    if ((r.end()-1)->second->m_x == nwrites-1) break;
+
+    m_map.quiescent (ctx());
+  }
+}
+
+
+void test2_iter()
+{
+  TestMap map (TestMap::Updater_t(), 20);
+
+  const int nthread = 4;
+  std::thread threads[nthread];
+  start_mutex.lock();
+
+  threads[0] = std::thread (test2_Writer (0, map));
+  threads[1] = std::thread (test2_Iterator (1, map));
+  threads[2] = std::thread (test2_Reader (2, map));
+  threads[3] = std::thread (test2_Reader (3, map));
+
+  // Try to get the threads starting as much at the same time as possible.
+  start_mutex.unlock();
+  for (int i=0; i < nthread; i++)
+    threads[i].join();
+}
+
+
+void test2()
+{
+  std::cout << "test2\n";
+
+  for (int i=0; i < 5; i++) {
+    test2_iter();
+  }
+}
+
+
+int main()
+{
+  test1();
+  test2();
+  return 0;
+}
diff --git a/Control/CxxUtils/test/atomic_fetch_minmax_test.cxx b/Control/CxxUtils/test/atomic_fetch_minmax_test.cxx
new file mode 100644
index 00000000000..2415ad3b536
--- /dev/null
+++ b/Control/CxxUtils/test/atomic_fetch_minmax_test.cxx
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file CxxUtils/atomic_fetch_minmax_test.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief Unit tests for atomic_fetch_min/max.
+ */
+
+
+#undef NDEBUG
+#include "CxxUtils/atomic_fetch_minmax.h"
+#include "TestTools/random.h"
+#include <mutex>
+#include <thread>
+#include <shared_mutex>
+#include <limits>
+#include <iostream>
+#include <cassert>
+
+using CxxUtils::atomic_fetch_max;
+using CxxUtils::atomic_fetch_min;
+
+
+template <class T>
+void test1_test()
+{
+  std::atomic<T> v;
+  v = 10;
+  assert (atomic_fetch_max (&v, static_cast<T>(20)) == 10);
+  assert (v == 20);
+  assert (atomic_fetch_max (&v, static_cast<T>(15)) == 20);
+  assert (v == 20);
+  assert (atomic_fetch_min (&v, static_cast<T>(10)) == 20);
+  assert (v == 10);
+  assert (atomic_fetch_min (&v, static_cast<T>(15)) == 10);
+  assert (v == 10);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  test1_test<char>();
+  test1_test<signed char>();
+  test1_test<unsigned char>();
+  test1_test<short>();
+  test1_test<unsigned short>();
+  test1_test<int>();
+  test1_test<unsigned int>();
+  test1_test<long>();
+  test1_test<unsigned long>();
+  test1_test<long long>();
+  test1_test<unsigned long long>();
+  test1_test<char16_t>();
+  test1_test<char32_t>();
+  test1_test<wchar_t>();
+}
+
+
+std::shared_timed_mutex start_mutex;
+
+
+template <class T>
+class test2_Thread
+{
+public:
+  test2_Thread (int ithread, std::atomic<T>& xmin, std::atomic<T>& xmax);
+  void operator()();
+
+private:
+  int m_ithread;
+  uint32_t m_seed;
+  std::atomic<T>& m_xmin;
+  std::atomic<T>& m_xmax;
+};
+
+
+template <class T>
+test2_Thread<T>::test2_Thread (int ithread, std::atomic<T>& xmin, std::atomic<T>& xmax)
+  : m_ithread (ithread),
+    m_seed (ithread * 123),
+    m_xmin (xmin),
+    m_xmax (xmax)
+{
+}
+
+
+template <class T>
+void test2_Thread<T>::operator()()
+{
+  std::shared_lock<std::shared_timed_mutex> lock (start_mutex);
+
+  const int niter = 1000000;
+
+  for (int i=0; i < niter; i++) {
+    T val = static_cast<T> (Athena_test::rng_seed (m_seed));
+    T omax = atomic_fetch_max (&m_xmax, val);
+    T omin = atomic_fetch_min (&m_xmin, val);
+    assert (omax <= m_xmax);
+    assert (omin >= m_xmin);
+    assert (m_xmax >= val);
+    assert (m_xmin <= val);
+  }
+}
+
+
+template <class T>
+void test2_test()
+{
+  const int nthread = 4;
+  std::thread threads[nthread];
+  start_mutex.lock();
+
+  std::atomic<T> xmin;
+  std::atomic<T> xmax;
+
+  xmin = std::numeric_limits<T>::max();
+  xmax = std::numeric_limits<T>::min();
+
+  threads[0] = std::thread (test2_Thread<T> (0, xmin, xmax));
+  threads[1] = std::thread (test2_Thread<T> (1, xmin, xmax));
+  threads[2] = std::thread (test2_Thread<T> (2, xmin, xmax));
+  threads[3] = std::thread (test2_Thread<T> (3, xmin, xmax));
+
+  // Try to get the threads starting as much at the same time as possible.
+  start_mutex.unlock();
+  for (int i=0; i < nthread; i++)
+    threads[i].join();
+}
+
+
+void test2()
+{
+  std::cout << "test2\n";
+
+  test2_test<char>();
+  test2_test<signed char>();
+  test2_test<unsigned char>();
+  test2_test<short>();
+  test2_test<unsigned short>();
+  test2_test<int>();
+  test2_test<unsigned int>();
+  test2_test<long>();
+  test2_test<unsigned long>();
+  test2_test<long long>();
+  test2_test<unsigned long long>();
+  test2_test<char16_t>();
+  test2_test<char32_t>();
+  test2_test<wchar_t>();
+}
+
+
+int main()
+{
+  test1();
+  test2();
+  return 0;
+}
diff --git a/Control/RngComps/share/RNGWrapper_test.ref b/Control/RngComps/share/RNGWrapper_test.ref
new file mode 100644
index 00000000000..681daa30260
--- /dev/null
+++ b/Control/RngComps/share/RNGWrapper_test.ref
@@ -0,0 +1 @@
+RNGWapper_test
diff --git a/Database/APR/CollectionBase/CollectionBase/boost_tokenizer_headers.h b/Database/APR/CollectionBase/CollectionBase/boost_tokenizer_headers.h
new file mode 100644
index 00000000000..ade28a3b83c
--- /dev/null
+++ b/Database/APR/CollectionBase/CollectionBase/boost_tokenizer_headers.h
@@ -0,0 +1,21 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id: boost_tokenizer_headers.h 457711 2011-09-07 14:24:34Z mnowak $
+#ifndef POOLCORE_BOOSTTOKENIZERHEADERS_H 
+#define POOLCORE_BOOSTTOKENIZERHEADERS_H 1
+
+// Disable warnings triggered by the Boost 1.42.0 headers
+// See http://wiki.services.openoffice.org/wiki/Writing_warning-free_code
+// See also http://www.artima.com/cppsource/codestandards.html
+// See also http://gcc.gnu.org/onlinedocs/gcc-4.1.1/cpp/System-Headers.html
+// See also http://gcc.gnu.org/ml/gcc-help/2007-01/msg00172.html
+#if defined __GNUC__
+#pragma GCC system_header
+#endif
+
+// Include files
+#include <boost/tokenizer.hpp>
+
+#endif // POOLCORE_BOOSTTOKENIZERHEADERS_H 
diff --git a/Database/APR/PersistencySvc/src/IPersistencySvc.cpp b/Database/APR/PersistencySvc/src/IPersistencySvc.cpp
new file mode 100644
index 00000000000..071e7ef9b98
--- /dev/null
+++ b/Database/APR/PersistencySvc/src/IPersistencySvc.cpp
@@ -0,0 +1,12 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PersistencySvc/IPersistencySvc.h"
+#include "PersistencySvc.h"
+
+std::unique_ptr< pool::IPersistencySvc >
+pool::IPersistencySvc::create( IFileCatalog& catalog )
+{
+   return std::unique_ptr<IPersistencySvc>( new PersistencySvc::PersistencySvc(catalog) );
+}
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/debug.h b/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/debug.h
new file mode 100644
index 00000000000..69c4b332bc0
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/debug.h
@@ -0,0 +1,46 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaPoolCnvSvc/debug.h
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief A couple hooks for debugging.
+ *
+ * It can be a bit of a pain to set breakpoints in heavily-templated code.
+ * So the templated converter classes will call these out-of-line functions
+ * at the start of createTransient() and createPersistent().
+ * This provides an easy spot to set a breakpoint.
+ */
+
+
+#ifndef ATHENAPOOLCNVSVC_DEBUG_H
+#define ATHENAPOOLCNVSVC_DEBUG_H
+
+
+#include "GaudiKernel/ClassID.h"
+
+
+namespace AthenaPoolCnvSvc {
+
+
+/**
+ * @brief Called by templated converters at the start of @c createTransient.
+ * @param clid The CLID of the class being converted.
+ */
+void debugCreateTransient (CLID clid);
+
+
+/**
+ * @brief Called by templated converters at the start of @c createPersistent.
+ * @param clid The CLID of the class being converted.
+ */
+void debugCreatePersistent (CLID clid);
+
+
+} // namespace AthenaPoolCnvSvc
+
+
+#endif // not ATHENAPOOLCNVSVC_DEBUG_H
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
new file mode 100644
index 00000000000..06a6e240231
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
@@ -0,0 +1,39 @@
+
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+
+def PoolReadCfg(inputFlags):
+    """
+    creates A ComponentAccumulator instance containing the 
+    athena services required for POOL file reading
+    """
+
+    filenames=inputFlags.get("AthenaConfiguration.GlobalConfigFlags.InputFiles")
+
+    result=ComponentAccumulator()
+
+    from PoolSvc.PoolSvcConf import PoolSvc
+    from SGComps.SGCompsConf import ProxyProviderSvc
+    from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+    from EventSelectorAthenaPool.EventSelectorAthenaPoolConf import AthenaPoolAddressProviderSvc, EventSelectorAthenaPool
+    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    
+
+
+    result.addService(PoolSvc(MaxFilesOpen=0))
+    apcs=AthenaPoolCnvSvc()
+    result.addService(apcs)
+    result.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[apcs.getFullJobOptName(),])) #No service handle yet???
+
+    apaps=AthenaPoolAddressProviderSvc()
+    result.addService(apaps)
+    result.addService(ProxyProviderSvc(ProviderNames=[apaps.getFullJobOptName(),])) #No service handle yet???
+
+
+    evSel=EventSelectorAthenaPool(InputCollections = filenames)
+
+    result.addService(evSel)
+    result.setAppProperty("EvtSel",evSel.getFullJobOptName())
+
+    #(possibly) missing: MetaDataSvc, AddressRemappingSvc
+
+    return result
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/debug.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/debug.cxx
new file mode 100644
index 00000000000..07ad2027218
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/debug.cxx
@@ -0,0 +1,43 @@
+// This file's extension implies that it's C, but it's really -*- C++ -*-.
+/*
+ * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
+ */
+// $Id$
+/**
+ * @file AthenaPoolCnvSvc/src/debug.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Nov, 2017
+ * @brief A couple hooks for debugging.
+ */
+
+
+#include "AthenaPoolCnvSvc/debug.h"
+#include "CxxUtils/unused.h"
+
+
+namespace AthenaPoolCnvSvc {
+
+
+/**
+ * @brief Called by templated converters at the start of @c createTransient.
+ * @param clid The CLID of the class being converted.
+ */
+// Use ATH_UNUSED rather than suppressing the param; otherwise, we won't
+// be able to see it in the debugger.
+void debugCreateTransient (CLID ATH_UNUSED(clid))
+{
+}
+
+
+/**
+ * @brief Called by templated converters at the start of @c createPersistent.
+ * @param clid The CLID of the class being converted.
+ */
+// Use ATH_UNUSED rather than suppressing the param; otherwise, we won't
+// be able to see it in the debugger.
+void debugCreatePersistent (CLID ATH_UNUSED(clid))
+{
+}
+
+
+} // namespace AthenaPoolCnvSvc
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref
new file mode 100644
index 00000000000..bb9941c8f36
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref
@@ -0,0 +1,1782 @@
+Tue Jan  9 14:23:29 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RMetaJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5433 configurables from 15 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas2.hep.anl.gov on Tue Jan  9 14:23:39 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2318 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:Catalog2.xml) [ok]
+PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-01-05T2303/Athena/22.0.0/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas2.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc             DEBUG POOL ReadCatalog is xmlcatalog_file:Catalog2.xml
+PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+ToolSvc.AthPool...   INFO in initialize()
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "SimplePoolFile5.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile5.root
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile5...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202]  (8 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (9 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (a , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (b , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 10 Entries in total.
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile5...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile5...  DEBUG --->Reading Param:PFN=[SimplePoolFile5.root]
+SimplePoolFile5...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile5...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+AthenaPoolAddre...   INFO Initializing AthenaPoolAddressProviderSvc - package version EventSelectorAthenaPool-00-00-00
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile5.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile5.root
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile5...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile5...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile5...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202]  (8 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (9 , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (a , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+SimplePoolFile5...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (b , ffffffff)
+SimplePoolFile5...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 10 Entries in total.
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile5...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile5...  DEBUG --->Reading Param:PFN=[SimplePoolFile5.root]
+SimplePoolFile5...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile5...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile5.root
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+ApplicationMgr       INFO Application Manager Started successfully
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile5.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile5.root
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.AthPoolEx::ReadMeta
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(ExampleHitContainer_p1/PedestalWriteData)
+MetaData(Exampl...  DEBUG Opening
+MetaData(Exampl...  DEBUG    attributes# = 1
+MetaData(Exampl...  DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData'
+MetaData(Exampl...  DEBUG Opened container MetaData(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree
+ClassIDSvc           INFO  getRegistryEntries: read 2686 CLIDRegistry entries for module ALL
+ToolSvc.AthPool...   INFO Pedestal x = 393136 y = -5580.01 z = -375208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o>
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 0    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #0 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile5...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1.2345 y = -2.345 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = -8.0239 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = -13.7028 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = -19.3817 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = -25.0606 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = -30.7395 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = -36.4184 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = -42.0973 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = -47.7762 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = -53.4551 z = 43.831 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #0 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #0 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 101.234 y = -2.345 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = -8.0239 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = -13.7028 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = -19.3817 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = -25.0606 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = -30.7395 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = -36.4184 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = -42.0973 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = -47.7762 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = -53.4551 z = -56.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #0 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #0 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 201.234 y = -2.345 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = -8.0239 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = -13.7028 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = -19.3817 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = -25.0606 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = -30.7395 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = -36.4184 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = -42.0973 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = -47.7762 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = -53.4551 z = -156.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #0 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #0 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 301.235 y = -2.345 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = -8.0239 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = -13.7028 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = -19.3817 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = -25.0606 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = -30.7395 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = -36.4184 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = -42.0973 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = -47.7762 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = -53.4551 z = -256.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #0 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #0 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 401.235 y = -2.345 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = -8.0239 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = -13.7028 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = -19.3817 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = -25.0606 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = -30.7395 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = -36.4184 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = -42.0973 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = -47.7762 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = -53.4551 z = -356.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #0 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #0 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 501.235 y = -2.345 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = -8.0239 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = -13.7028 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = -19.3817 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = -25.0606 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = -30.7395 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = -36.4184 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = -42.0973 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = -47.7762 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = -53.4551 z = -456.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #0 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #0 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 601.235 y = -2.345 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = -8.0239 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = -13.7028 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = -19.3817 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = -25.0606 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = -30.7395 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = -36.4184 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = -42.0973 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = -47.7762 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = -53.4551 z = -556.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #0 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #0 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 701.235 y = -2.345 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = -8.0239 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = -13.7028 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = -19.3817 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = -25.0606 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = -30.7395 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = -36.4184 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = -42.0973 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = -47.7762 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = -53.4551 z = -656.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #0 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #0 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 801.235 y = -2.345 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = -8.0239 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = -13.7028 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = -19.3817 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = -25.0606 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = -30.7395 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = -36.4184 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = -42.0973 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = -47.7762 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = -53.4551 z = -756.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #0 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #0 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 901.235 y = -2.345 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = -8.0239 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = -13.7028 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = -19.3817 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = -25.0606 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = -30.7395 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = -36.4184 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = -42.0973 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = -47.7762 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = -53.4551 z = -856.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #0 10 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #0 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1001.23 y = -2.345 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = -8.0239 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = -13.7028 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = -19.3817 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = -25.0606 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = -30.7395 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = -36.4184 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = -42.0973 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = -47.7762 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = -53.4551 z = -956.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #0 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #0 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = -2.345 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = -8.0239 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = -13.7028 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = -19.3817 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = -25.0606 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = -30.7395 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = -36.4184 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = -42.0973 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = -47.7762 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = -53.4551 z = -1056.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #0 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #0 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = -2.345 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = -8.0239 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = -13.7028 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = -19.3817 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = -25.0606 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = -30.7395 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = -36.4184 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = -42.0973 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = -47.7762 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = -53.4551 z = -1156.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #0 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #0 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = -2.345 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = -8.0239 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = -13.7028 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = -19.3817 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = -25.0606 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = -30.7395 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = -36.4184 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = -42.0973 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = -47.7762 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = -53.4551 z = -1256.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #0 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #0 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = -2.345 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = -8.0239 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = -13.7028 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = -19.3817 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = -25.0606 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = -30.7395 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = -36.4184 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = -42.0973 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = -47.7762 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = -53.4551 z = -1356.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #0 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #0 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = -2.345 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = -8.0239 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = -13.7028 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = -19.3817 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = -25.0606 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = -30.7395 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = -36.4184 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = -42.0973 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = -47.7762 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = -53.4551 z = -1456.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #0 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #0 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = -2.345 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = -8.0239 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = -13.7028 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = -19.3817 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = -25.0606 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = -30.7395 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = -36.4184 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = -42.0973 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = -47.7762 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = -53.4551 z = -1556.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #0 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #0 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = -2.345 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = -8.0239 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = -13.7028 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = -19.3817 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = -25.0606 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = -30.7395 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = -36.4184 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = -42.0973 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = -47.7762 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = -53.4551 z = -1656.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #0 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #0 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = -2.345 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = -8.0239 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = -13.7028 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = -19.3817 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = -25.0606 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = -30.7395 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = -36.4184 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = -42.0973 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = -47.7762 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = -53.4551 z = -1756.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #0 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #0 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = -2.345 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = -8.0239 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = -13.7028 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = -19.3817 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = -25.0606 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = -30.7395 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = -36.4184 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = -42.0973 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = -47.7762 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = -53.4551 z = -1856.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #0 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #0 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2001.23 y = -2.345 z = -1773.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2004.44 y = -8.0239 z = -1905.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2007.65 y = -13.7028 z = -1929.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2010.86 y = -19.3817 z = -1940.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2014.07 y = -25.0606 z = -1945.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2017.28 y = -30.7395 z = -1949.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2020.49 y = -36.4184 z = -1951.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2023.7 y = -42.0973 z = -1953.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2026.91 y = -47.7762 z = -1955.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2030.12 y = -53.4551 z = -1956.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #0 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #0 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2101.23 y = -2.345 z = -1873.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2104.44 y = -8.0239 z = -2005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2107.65 y = -13.7028 z = -2029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2110.86 y = -19.3817 z = -2040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2114.07 y = -25.0606 z = -2045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2117.28 y = -30.7395 z = -2049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2120.49 y = -36.4184 z = -2051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2123.7 y = -42.0973 z = -2053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2126.91 y = -47.7762 z = -2055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2130.12 y = -53.4551 z = -2056.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #0 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #0 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2201.23 y = -2.345 z = -1973.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2204.44 y = -8.0239 z = -2105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2207.65 y = -13.7028 z = -2129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2210.86 y = -19.3817 z = -2140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2214.07 y = -25.0606 z = -2145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2217.28 y = -30.7395 z = -2149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2220.49 y = -36.4184 z = -2151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2223.7 y = -42.0973 z = -2153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2226.91 y = -47.7762 z = -2155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2230.12 y = -53.4551 z = -2156.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #0 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #0 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2301.23 y = -2.345 z = -2073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2304.44 y = -8.0239 z = -2205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2307.65 y = -13.7028 z = -2229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2310.86 y = -19.3817 z = -2240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2314.07 y = -25.0606 z = -2245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2317.28 y = -30.7395 z = -2249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2320.49 y = -36.4184 z = -2251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2323.7 y = -42.0973 z = -2253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2326.91 y = -47.7762 z = -2255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2330.12 y = -53.4551 z = -2256.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #0 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #0 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2401.23 y = -2.345 z = -2173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2404.44 y = -8.0239 z = -2305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2407.65 y = -13.7028 z = -2329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2410.86 y = -19.3817 z = -2340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2414.07 y = -25.0606 z = -2345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2417.28 y = -30.7395 z = -2349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2420.49 y = -36.4184 z = -2351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2423.7 y = -42.0973 z = -2353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2426.91 y = -47.7762 z = -2355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2430.12 y = -53.4551 z = -2356.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #0 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #0 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2501.23 y = -2.345 z = -2273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2504.44 y = -8.0239 z = -2405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2507.65 y = -13.7028 z = -2429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2510.86 y = -19.3817 z = -2440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2514.07 y = -25.0606 z = -2445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2517.28 y = -30.7395 z = -2449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2520.49 y = -36.4184 z = -2451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2523.7 y = -42.0973 z = -2453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2526.91 y = -47.7762 z = -2455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2530.12 y = -53.4551 z = -2456.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #0 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #0 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2601.23 y = -2.345 z = -2373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2604.44 y = -8.0239 z = -2505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2607.65 y = -13.7028 z = -2529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2610.86 y = -19.3817 z = -2540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2614.07 y = -25.0606 z = -2545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2617.28 y = -30.7395 z = -2549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2620.49 y = -36.4184 z = -2551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2623.7 y = -42.0973 z = -2553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2626.91 y = -47.7762 z = -2555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2630.12 y = -53.4551 z = -2556.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #0 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #0 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2701.23 y = -2.345 z = -2473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2704.44 y = -8.0239 z = -2605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2707.65 y = -13.7028 z = -2629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2710.86 y = -19.3817 z = -2640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2714.07 y = -25.0606 z = -2645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2717.28 y = -30.7395 z = -2649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2720.49 y = -36.4184 z = -2651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2723.7 y = -42.0973 z = -2653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2726.91 y = -47.7762 z = -2655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2730.12 y = -53.4551 z = -2656.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #0 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #0 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2801.23 y = -2.345 z = -2573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2804.44 y = -8.0239 z = -2705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2807.65 y = -13.7028 z = -2729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2810.86 y = -19.3817 z = -2740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2814.07 y = -25.0606 z = -2745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2817.28 y = -30.7395 z = -2749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2820.49 y = -36.4184 z = -2751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2823.7 y = -42.0973 z = -2753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2826.91 y = -47.7762 z = -2755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2830.12 y = -53.4551 z = -2756.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #0 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #0 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 2901.23 y = -2.345 z = -2673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 2904.44 y = -8.0239 z = -2805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 2907.65 y = -13.7028 z = -2829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2910.86 y = -19.3817 z = -2840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 2914.07 y = -25.0606 z = -2845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 2917.28 y = -30.7395 z = -2849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 2920.49 y = -36.4184 z = -2851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 2923.7 y = -42.0973 z = -2853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 2926.91 y = -47.7762 z = -2855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 2930.12 y = -53.4551 z = -2856.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #0 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #0 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3001.23 y = -2.345 z = -2773.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3004.44 y = -8.0239 z = -2905.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3007.65 y = -13.7028 z = -2929.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3010.86 y = -19.3817 z = -2940.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3014.07 y = -25.0606 z = -2945.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3017.28 y = -30.7395 z = -2949.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3020.49 y = -36.4184 z = -2951.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3023.7 y = -42.0973 z = -2953.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3026.91 y = -47.7762 z = -2955.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3030.12 y = -53.4551 z = -2956.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #0 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #0 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3101.23 y = -2.345 z = -2873.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3104.44 y = -8.0239 z = -3005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3107.65 y = -13.7028 z = -3029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3110.86 y = -19.3817 z = -3040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3114.07 y = -25.0606 z = -3045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3117.28 y = -30.7395 z = -3049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3120.49 y = -36.4184 z = -3051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3123.7 y = -42.0973 z = -3053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3126.91 y = -47.7762 z = -3055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3130.12 y = -53.4551 z = -3056.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #0 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #0 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3201.23 y = -2.345 z = -2973.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3204.44 y = -8.0239 z = -3105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3207.65 y = -13.7028 z = -3129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3210.86 y = -19.3817 z = -3140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3214.07 y = -25.0606 z = -3145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3217.28 y = -30.7395 z = -3149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3220.49 y = -36.4184 z = -3151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3223.7 y = -42.0973 z = -3153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3226.91 y = -47.7762 z = -3155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3230.12 y = -53.4551 z = -3156.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #0 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #0 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3301.23 y = -2.345 z = -3073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3304.44 y = -8.0239 z = -3205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3307.65 y = -13.7028 z = -3229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3310.86 y = -19.3817 z = -3240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3314.07 y = -25.0606 z = -3245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3317.28 y = -30.7395 z = -3249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3320.49 y = -36.4184 z = -3251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3323.7 y = -42.0973 z = -3253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3326.91 y = -47.7762 z = -3255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3330.12 y = -53.4551 z = -3256.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #0 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #0 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3401.23 y = -2.345 z = -3173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3404.44 y = -8.0239 z = -3305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3407.65 y = -13.7028 z = -3329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3410.86 y = -19.3817 z = -3340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3414.07 y = -25.0606 z = -3345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3417.28 y = -30.7395 z = -3349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3420.49 y = -36.4184 z = -3351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3423.7 y = -42.0973 z = -3353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3426.91 y = -47.7762 z = -3355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3430.12 y = -53.4551 z = -3356.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #0 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #0 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3501.23 y = -2.345 z = -3273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3504.44 y = -8.0239 z = -3405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3507.65 y = -13.7028 z = -3429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3510.86 y = -19.3817 z = -3440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3514.07 y = -25.0606 z = -3445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3517.28 y = -30.7395 z = -3449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3520.49 y = -36.4184 z = -3451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3523.7 y = -42.0973 z = -3453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3526.91 y = -47.7762 z = -3455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3530.12 y = -53.4551 z = -3456.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #0 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #0 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3601.23 y = -2.345 z = -3373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3604.44 y = -8.0239 z = -3505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3607.65 y = -13.7028 z = -3529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3610.86 y = -19.3817 z = -3540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3614.07 y = -25.0606 z = -3545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3617.28 y = -30.7395 z = -3549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3620.49 y = -36.4184 z = -3551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3623.7 y = -42.0973 z = -3553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3626.91 y = -47.7762 z = -3555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3630.12 y = -53.4551 z = -3556.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #0 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #0 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3701.23 y = -2.345 z = -3473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3704.44 y = -8.0239 z = -3605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3707.65 y = -13.7028 z = -3629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3710.86 y = -19.3817 z = -3640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3714.07 y = -25.0606 z = -3645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3717.28 y = -30.7395 z = -3649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3720.49 y = -36.4184 z = -3651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3723.7 y = -42.0973 z = -3653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3726.91 y = -47.7762 z = -3655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3730.12 y = -53.4551 z = -3656.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #0 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #0 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3801.23 y = -2.345 z = -3573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3804.44 y = -8.0239 z = -3705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3807.65 y = -13.7028 z = -3729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3810.86 y = -19.3817 z = -3740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3814.07 y = -25.0606 z = -3745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3817.28 y = -30.7395 z = -3749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3820.49 y = -36.4184 z = -3751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3823.7 y = -42.0973 z = -3753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3826.91 y = -47.7762 z = -3755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3830.12 y = -53.4551 z = -3756.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #0 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #0 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 0
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 3901.23 y = -2.345 z = -3673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 3904.44 y = -8.0239 z = -3805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 3907.65 y = -13.7028 z = -3829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3910.86 y = -19.3817 z = -3840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 3914.07 y = -25.0606 z = -3845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 3917.28 y = -30.7395 z = -3849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 3920.49 y = -36.4184 z = -3851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 3923.7 y = -42.0973 z = -3853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 3926.91 y = -47.7762 z = -3855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 3930.12 y = -53.4551 z = -3856.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #0 40 events processed so far  <<<===
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile5.root
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.AthPoolEx::ReadMeta
+MetaDataSvc         DEBUG Releasing MetaDataTools
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+ToolSvc.AthPool...   INFO in finalize()
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max=0.152(+- 1.22)/    0/   10 [ms] #=132
+cObj_ALL             INFO Time User   : Tot=   50 [ms] Ave/Min/Max=0.391(+- 2.31)/    0/   20 [ms] #=128
+ChronoStatSvc        INFO Time User   : Tot= 0.97  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref
new file mode 100644
index 00000000000..b4adf57970e
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref
@@ -0,0 +1,1992 @@
+Mon Jan 22 13:10:27 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RWJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:10:40 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc    DEBUG Property update for OutputLevel : new value = 2
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc             DEBUG POOL ReadCatalog is file:Catalog.xml
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+ReWriteData         DEBUG Property update for OutputLevel : new value = 2
+ReWriteData          INFO in initialize()
+ReWriteData         DEBUG input handles: 0
+ReWriteData         DEBUG output handles: 0
+ReWriteData         DEBUG Data Deps for ReWriteData
+WriteTag             INFO in initialize()
+MagicWriteTag        INFO in initialize()
+Stream1             DEBUG Property update for OutputLevel : new value = 2
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+ClassIDSvc           INFO  getRegistryEntries: read 3114 CLIDRegistry entries for module ALL
+Stream1             DEBUG In initialize 
+Stream1             DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: Stream1 with no Algs
+Stream1             DEBUG End initialize 
+Stream1             DEBUG In initialize
+Stream1             DEBUG Found StoreGateSvc store.
+Stream1             DEBUG Found MetaDataStore store.
+OutputStreamSeq...   INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-00-00-00
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+ClassIDSvc           INFO  getRegistryEntries: read 386 CLIDRegistry entries for module ALL
+Stream1.Stream1...   INFO Initializing Stream1.Stream1Tool - package version OutputStreamAthenaPool-00-00-00
+Stream1.Stream1...   INFO streamProperty ProcessingTag = Stream1
+AthenaPoolAddre...  DEBUG Cannot find DataHeader in DetectorStore.
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+Stream1.Stream1...   INFO Initializing Stream1.Stream1_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00
+Stream1              INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream1_MakeEventStreamInfo'])
+Stream1              INFO Data output: SimplePoolFile3.root
+Stream1              INFO I/O reinitialization...
+Stream1             DEBUG End initialize
+Stream1             DEBUG input handles: 0
+Stream1             DEBUG output handles: 0
+Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
+Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
+Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaPoolOutputStreamTool)
+Stream1             DEBUG Data Deps for Stream1
+RegStream1          DEBUG Property update for OutputLevel : new value = 2
+RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
+RegStream1          DEBUG In initialize 
+RegStream1          DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: RegStream1 with no Algs
+RegStream1          DEBUG End initialize 
+RegStream1          DEBUG In initialize 
+RegStream1          DEBUG Found  'StoreName':StoreGateSvc store.
+RegStream1.TagTool  DEBUG Property update for OutputLevel : new value = 2
+RegStream1          DEBUG  Tool initialized
+RegStream1          DEBUG Retrieved IncidentSvc
+RegStream1          DEBUG Added MetaDataStop listener
+RegStream1          DEBUG  Not class requested by Tool, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+RegStream1          DEBUG End initialize 
+RegStream1          DEBUG input handles: 0
+RegStream1          DEBUG output handles: 0
+RegStream1          DEBUG Adding private ToolHandle tool RegStream1.TagTool (RegistrationStreamTagTool)
+RegStream1          DEBUG Data Deps for RegStream1
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile1.root
+ApplicationMgr       INFO Application Manager Started successfully
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile1.root
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1.2345
+ReWriteData          INFO ElementLink2 = 30.1245
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1.2345
+ReWriteData          INFO Element = 0x???? : 4.4445
+ReWriteData          INFO Element = 0x???? : 10.8645
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1.2345
+ReWriteData          INFO Element = 0x???? : 17.2845
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1.2345
+ReWriteData          INFO Element = 0x???? : 17.2845
+ReWriteData          INFO Element = 0x???? : 10.8645
+ReWriteData          INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 0  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 0  run: 1
+MagicWriteTag        INFO registered all data
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     UPDATE    [ROOT_All] 
+AthenaPoolCnvSvc    DEBUG setAttribute TREE_MAX_SIZE to 1099511627776L
+AthenaPoolCnvSvc    DEBUG setAttribute DEFAULT_SPLITLEVEL to 0
+AthenaPoolCnvSvc    DEBUG setAttribute STREAM_MEMBER_WISE to 1
+AthenaPoolCnvSvc    DEBUG setAttribute DEFAULT_BUFFERSIZE to 32000
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   CREATE    [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+##Shapes            DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+##Links             DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Params            DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+AthenaPoolCnvSvc    DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile3.root and cont: TTree=POOLContainerForm(DataHeaderForm)
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 1
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[0 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:EventInfo_p4
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO ExampleTrackContainer_p1 [????]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[1 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:ExampleTrackContainer_p1
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[2 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:DataHeaderForm_p5
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[3 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:DataHeader_p5
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(Token)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'Token'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[4 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:Token
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(RunNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'RunNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[5 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:unsigned int
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(EventNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'EventNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'MagicNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainer(basic/DataHeader)
+POOLContainer(b...  DEBUG Opening
+POOLContainer(b...  DEBUG    attributes# = 1
+POOLContainer(b...  DEBUG Branch container 'basic_DataHeader'
+POOLContainer(b...  DEBUG Opened container POOLContainer(basic/DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+AthenaPoolCnvSvc    DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile3.root and cont: POOLContainer(DataHeader)
+AthenaPoolCnvSvc    DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile3.root and cont: POOLContainerForm(DataHeaderForm)
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
+RegStream1.TagTool   INFO No Primary Key defined
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 101.234
+ReWriteData          INFO ElementLink2 = 130.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 101.234
+ReWriteData          INFO Element = 0x???? : 104.444
+ReWriteData          INFO Element = 0x???? : 110.864
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 101.234
+ReWriteData          INFO Element = 0x???? : 117.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 101.234
+ReWriteData          INFO Element = 0x???? : 117.284
+ReWriteData          INFO Element = 0x???? : 110.864
+ReWriteData          INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 1  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 1  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 2
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 2
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 201.234
+ReWriteData          INFO ElementLink2 = 230.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 201.234
+ReWriteData          INFO Element = 0x???? : 204.445
+ReWriteData          INFO Element = 0x???? : 210.864
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 201.234
+ReWriteData          INFO Element = 0x???? : 217.285
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 201.234
+ReWriteData          INFO Element = 0x???? : 217.285
+ReWriteData          INFO Element = 0x???? : 210.864
+ReWriteData          INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 2  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 2  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 3
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 3
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 301.235
+ReWriteData          INFO ElementLink2 = 330.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 301.235
+ReWriteData          INFO Element = 0x???? : 304.445
+ReWriteData          INFO Element = 0x???? : 310.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 301.235
+ReWriteData          INFO Element = 0x???? : 317.285
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 301.235
+ReWriteData          INFO Element = 0x???? : 317.285
+ReWriteData          INFO Element = 0x???? : 310.865
+ReWriteData          INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 3  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 3  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 4
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 4
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 401.235
+ReWriteData          INFO ElementLink2 = 430.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 401.235
+ReWriteData          INFO Element = 0x???? : 404.445
+ReWriteData          INFO Element = 0x???? : 410.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 401.235
+ReWriteData          INFO Element = 0x???? : 417.285
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 401.235
+ReWriteData          INFO Element = 0x???? : 417.285
+ReWriteData          INFO Element = 0x???? : 410.865
+ReWriteData          INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 4  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 4  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 5
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 5
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 501.235
+ReWriteData          INFO ElementLink2 = 530.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 501.235
+ReWriteData          INFO Element = 0x???? : 504.445
+ReWriteData          INFO Element = 0x???? : 510.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 501.235
+ReWriteData          INFO Element = 0x???? : 517.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 501.235
+ReWriteData          INFO Element = 0x???? : 517.284
+ReWriteData          INFO Element = 0x???? : 510.865
+ReWriteData          INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 5  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 5  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 6
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 6
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 601.235
+ReWriteData          INFO ElementLink2 = 630.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 601.235
+ReWriteData          INFO Element = 0x???? : 604.445
+ReWriteData          INFO Element = 0x???? : 610.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 601.235
+ReWriteData          INFO Element = 0x???? : 617.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 601.235
+ReWriteData          INFO Element = 0x???? : 617.284
+ReWriteData          INFO Element = 0x???? : 610.865
+ReWriteData          INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 6  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 6  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 7
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 7
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 701.235
+ReWriteData          INFO ElementLink2 = 730.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 701.235
+ReWriteData          INFO Element = 0x???? : 704.445
+ReWriteData          INFO Element = 0x???? : 710.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 701.235
+ReWriteData          INFO Element = 0x???? : 717.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 701.235
+ReWriteData          INFO Element = 0x???? : 717.284
+ReWriteData          INFO Element = 0x???? : 710.865
+ReWriteData          INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 7  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 7  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 8
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 8
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 801.235
+ReWriteData          INFO ElementLink2 = 830.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 801.235
+ReWriteData          INFO Element = 0x???? : 804.445
+ReWriteData          INFO Element = 0x???? : 810.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 801.235
+ReWriteData          INFO Element = 0x???? : 817.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 801.235
+ReWriteData          INFO Element = 0x???? : 817.284
+ReWriteData          INFO Element = 0x???? : 810.865
+ReWriteData          INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 8  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 8  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 9
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 9
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 901.235
+ReWriteData          INFO ElementLink2 = 930.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 901.235
+ReWriteData          INFO Element = 0x???? : 904.445
+ReWriteData          INFO Element = 0x???? : 910.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 901.235
+ReWriteData          INFO Element = 0x???? : 917.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 901.235
+ReWriteData          INFO Element = 0x???? : 917.284
+ReWriteData          INFO Element = 0x???? : 910.865
+ReWriteData          INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 9  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 9  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 10
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 10
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 10 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1001.23
+ReWriteData          INFO ElementLink2 = 1030.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1001.23
+ReWriteData          INFO Element = 0x???? : 1004.44
+ReWriteData          INFO Element = 0x???? : 1010.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1001.23
+ReWriteData          INFO Element = 0x???? : 1017.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1001.23
+ReWriteData          INFO Element = 0x???? : 1017.28
+ReWriteData          INFO Element = 0x???? : 1010.86
+ReWriteData          INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 10  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 10  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 11
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 11
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1101.23
+ReWriteData          INFO ElementLink2 = 1130.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1101.23
+ReWriteData          INFO Element = 0x???? : 1104.44
+ReWriteData          INFO Element = 0x???? : 1110.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1101.23
+ReWriteData          INFO Element = 0x???? : 1117.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1101.23
+ReWriteData          INFO Element = 0x???? : 1117.28
+ReWriteData          INFO Element = 0x???? : 1110.86
+ReWriteData          INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 11  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 11  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 12
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 12
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1201.23
+ReWriteData          INFO ElementLink2 = 1230.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1201.23
+ReWriteData          INFO Element = 0x???? : 1204.44
+ReWriteData          INFO Element = 0x???? : 1210.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1201.23
+ReWriteData          INFO Element = 0x???? : 1217.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1201.23
+ReWriteData          INFO Element = 0x???? : 1217.28
+ReWriteData          INFO Element = 0x???? : 1210.86
+ReWriteData          INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 12  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 12  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 13
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 13
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1301.23
+ReWriteData          INFO ElementLink2 = 1330.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1301.23
+ReWriteData          INFO Element = 0x???? : 1304.44
+ReWriteData          INFO Element = 0x???? : 1310.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1301.23
+ReWriteData          INFO Element = 0x???? : 1317.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1301.23
+ReWriteData          INFO Element = 0x???? : 1317.28
+ReWriteData          INFO Element = 0x???? : 1310.86
+ReWriteData          INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 13  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 13  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 14
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 14
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1401.23
+ReWriteData          INFO ElementLink2 = 1430.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1401.23
+ReWriteData          INFO Element = 0x???? : 1404.44
+ReWriteData          INFO Element = 0x???? : 1410.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1401.23
+ReWriteData          INFO Element = 0x???? : 1417.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1401.23
+ReWriteData          INFO Element = 0x???? : 1417.28
+ReWriteData          INFO Element = 0x???? : 1410.86
+ReWriteData          INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 14  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 14  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 15
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 15
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1501.23
+ReWriteData          INFO ElementLink2 = 1530.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1501.23
+ReWriteData          INFO Element = 0x???? : 1504.44
+ReWriteData          INFO Element = 0x???? : 1510.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1501.23
+ReWriteData          INFO Element = 0x???? : 1517.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1501.23
+ReWriteData          INFO Element = 0x???? : 1517.28
+ReWriteData          INFO Element = 0x???? : 1510.86
+ReWriteData          INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 15  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 15  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 16
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 16
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1601.23
+ReWriteData          INFO ElementLink2 = 1630.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1601.23
+ReWriteData          INFO Element = 0x???? : 1604.44
+ReWriteData          INFO Element = 0x???? : 1610.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1601.23
+ReWriteData          INFO Element = 0x???? : 1617.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1601.23
+ReWriteData          INFO Element = 0x???? : 1617.28
+ReWriteData          INFO Element = 0x???? : 1610.86
+ReWriteData          INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 16  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 16  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 17
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 17
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1701.23
+ReWriteData          INFO ElementLink2 = 1730.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1701.23
+ReWriteData          INFO Element = 0x???? : 1704.44
+ReWriteData          INFO Element = 0x???? : 1710.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1701.23
+ReWriteData          INFO Element = 0x???? : 1717.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1701.23
+ReWriteData          INFO Element = 0x???? : 1717.28
+ReWriteData          INFO Element = 0x???? : 1710.86
+ReWriteData          INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 17  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 17  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 18
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 18
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1801.23
+ReWriteData          INFO ElementLink2 = 1830.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1801.23
+ReWriteData          INFO Element = 0x???? : 1804.44
+ReWriteData          INFO Element = 0x???? : 1810.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1801.23
+ReWriteData          INFO Element = 0x???? : 1817.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1801.23
+ReWriteData          INFO Element = 0x???? : 1817.28
+ReWriteData          INFO Element = 0x???? : 1810.86
+ReWriteData          INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 18  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 18  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 19
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 19
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1901.23
+ReWriteData          INFO ElementLink2 = 1930.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1901.23
+ReWriteData          INFO Element = 0x???? : 1904.44
+ReWriteData          INFO Element = 0x???? : 1910.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1901.23
+ReWriteData          INFO Element = 0x???? : 1917.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1901.23
+ReWriteData          INFO Element = 0x???? : 1917.28
+ReWriteData          INFO Element = 0x???? : 1910.86
+ReWriteData          INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 19  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 19  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 20
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 20
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 20 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile1.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Stream1             DEBUG handle() incident type: MetaDataStop
+Stream1             DEBUG addItemObjects(167728019,"Stream1") called
+Stream1             DEBUG            Key:Stream1
+Stream1             DEBUG  Added object 167728019,"Stream1"
+Stream1             DEBUG addItemObjects(1316383046,"*") called
+Stream1             DEBUG            Key:*
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO EventStreamInfo_p3 [????]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[6 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:EventStreamInfo_p3
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+Stream1              INFO Records written: 21
+Stream1             DEBUG Leaving handle
+RegStream1          DEBUG handle() incident type: MetaDataStop
+RegStream1.TagTool   INFO Collection Events output: 20
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   CREATE    [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     UPDATE    [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+ReWriteData          INFO in finalize()
+WriteTag             INFO in finalize()
+MagicWriteTag        INFO in finalize()
+Stream1             DEBUG finalize: Optimize output
+Stream1             DEBUG finalize: end optimize output
+RegStream1          DEBUG In finalize
+IncidentProcAlg2     INFO Finalize
+DecisionSvc          INFO Finalized successfully.
+AthenaPoolCnvSvc    DEBUG releasing all workers
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+fRep_ALL             INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 82
+commitOutput         INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 21
+cObjR_ALL            INFO Time User   : Tot=   10 [ms] Ave/Min/Max=0.152(+- 1.22)/    0/   10 [ms] #= 66
+cRepR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max=0.0985(+-0.988)/    0/   10 [ms] #=203
+cObj_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=0.635(+- 3.51)/    0/   20 [ms] #= 63
+cRep_ALL             INFO Time User   : Tot=   50 [ms] Ave/Min/Max= 0.61(+- 2.39)/    0/   10 [ms] #= 82
+ChronoStatSvc        INFO Time User   : Tot= 1.14  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref
new file mode 100644
index 00000000000..990115a685e
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref
@@ -0,0 +1,2048 @@
+Mon Jan 22 13:12:15 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteAgainJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:12:30 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc    DEBUG Property update for OutputLevel : new value = 2
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc             DEBUG POOL ReadCatalog is file:Catalog.xml
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "SimplePoolReplica1.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Param:FID=[????]
+SimplePoolRepli...  DEBUG --->Reading Param:PFN=[SimplePoolReplica1.root]
+SimplePoolRepli...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolRepli...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+ReWriteData         DEBUG Property update for OutputLevel : new value = 2
+ReWriteData          INFO in initialize()
+ReWriteData         DEBUG input handles: 0
+ReWriteData         DEBUG output handles: 0
+ReWriteData         DEBUG Data Deps for ReWriteData
+WriteTag             INFO in initialize()
+MagicWriteTag        INFO in initialize()
+Stream1             DEBUG Property update for OutputLevel : new value = 2
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+ClassIDSvc           INFO  getRegistryEntries: read 3111 CLIDRegistry entries for module ALL
+Stream1             DEBUG In initialize 
+Stream1             DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: Stream1 with no Algs
+Stream1             DEBUG End initialize 
+Stream1             DEBUG In initialize
+Stream1             DEBUG Found StoreGateSvc store.
+Stream1             DEBUG Found MetaDataStore store.
+OutputStreamSeq...   INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-00-00-00
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+ClassIDSvc           INFO  getRegistryEntries: read 386 CLIDRegistry entries for module ALL
+Stream1.Stream1...   INFO Initializing Stream1.Stream1Tool - package version OutputStreamAthenaPool-00-00-00
+Stream1.Stream1...   INFO streamProperty ProcessingTag = Stream1
+AthenaPoolAddre...  DEBUG Cannot find DataHeader in DetectorStore.
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+Stream1.Stream1...   INFO Initializing Stream1.Stream1_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00
+Stream1              INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream1_MakeEventStreamInfo'])
+Stream1              INFO Data output: SimplePoolFile3.root
+Stream1              INFO I/O reinitialization...
+Stream1             DEBUG End initialize
+Stream1             DEBUG input handles: 0
+Stream1             DEBUG output handles: 0
+Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
+Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
+Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaPoolOutputStreamTool)
+Stream1             DEBUG Data Deps for Stream1
+RegStream1          DEBUG Property update for OutputLevel : new value = 2
+RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
+RegStream1          DEBUG In initialize 
+RegStream1          DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: RegStream1 with no Algs
+RegStream1          DEBUG End initialize 
+RegStream1          DEBUG In initialize 
+RegStream1          DEBUG Found  'StoreName':StoreGateSvc store.
+RegStream1.TagTool  DEBUG Property update for OutputLevel : new value = 2
+RegStream1          DEBUG  Tool initialized
+RegStream1          DEBUG Retrieved IncidentSvc
+RegStream1          DEBUG Added MetaDataStop listener
+RegStream1          DEBUG  Not class requested by Tool, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+RegStream1          DEBUG End initialize 
+RegStream1          DEBUG input handles: 0
+RegStream1          DEBUG output handles: 0
+RegStream1          DEBUG Adding private ToolHandle tool RegStream1.TagTool (RegistrationStreamTagTool)
+RegStream1          DEBUG Data Deps for RegStream1
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolReplica1.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Param:FID=[????]
+SimplePoolRepli...  DEBUG --->Reading Param:PFN=[SimplePoolReplica1.root]
+SimplePoolRepli...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolRepli...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+ApplicationMgr       INFO Application Manager Started successfully
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolReplica1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1.2345
+ReWriteData          INFO ElementLink2 = 30.1245
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1.2345
+ReWriteData          INFO Element = 0x???? : 4.4445
+ReWriteData          INFO Element = 0x???? : 10.8645
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1.2345
+ReWriteData          INFO Element = 0x???? : 17.2845
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1.2345
+ReWriteData          INFO Element = 0x???? : 17.2845
+ReWriteData          INFO Element = 0x???? : 10.8645
+ReWriteData          INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 0  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 0  run: 1
+MagicWriteTag        INFO registered all data
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     UPDATE    [ROOT_All] 
+AthenaPoolCnvSvc    DEBUG setAttribute TREE_MAX_SIZE to 1099511627776L
+AthenaPoolCnvSvc    DEBUG setAttribute DEFAULT_SPLITLEVEL to 0
+AthenaPoolCnvSvc    DEBUG setAttribute STREAM_MEMBER_WISE to 1
+AthenaPoolCnvSvc    DEBUG setAttribute DEFAULT_BUFFERSIZE to 32000
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   CREATE    [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+##Shapes            DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+##Links             DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Params            DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+AthenaPoolCnvSvc    DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile3.root and cont: TTree=POOLContainerForm(DataHeaderForm)
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 1
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[0 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:EventInfo_p4
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO ExampleTrackContainer_p1 [????]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[1 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:ExampleTrackContainer_p1
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[2 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:DataHeaderForm_p5
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[3 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:DataHeader_p5
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO Token [????]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(Token)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'Token'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[4 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:Token
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO unsigned int [????]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(RunNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'RunNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[5 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:unsigned int
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(EventNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'EventNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'MagicNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+ClassIDSvc           INFO  getRegistryEntries: read 3 CLIDRegistry entries for module ALL
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainer(basic/DataHeader)
+POOLContainer(b...  DEBUG Opening
+POOLContainer(b...  DEBUG    attributes# = 1
+POOLContainer(b...  DEBUG Branch container 'basic_DataHeader'
+POOLContainer(b...  DEBUG Opened container POOLContainer(basic/DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+AthenaPoolCnvSvc    DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile3.root and cont: POOLContainer(DataHeader)
+AthenaPoolCnvSvc    DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile3.root and cont: POOLContainerForm(DataHeaderForm)
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
+RegStream1.TagTool   INFO No Primary Key defined
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 101.234
+ReWriteData          INFO ElementLink2 = 130.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 101.234
+ReWriteData          INFO Element = 0x???? : 104.444
+ReWriteData          INFO Element = 0x???? : 110.864
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 101.234
+ReWriteData          INFO Element = 0x???? : 117.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 101.234
+ReWriteData          INFO Element = 0x???? : 117.284
+ReWriteData          INFO Element = 0x???? : 110.864
+ReWriteData          INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 1  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 1  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 2
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 2
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 201.234
+ReWriteData          INFO ElementLink2 = 230.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 201.234
+ReWriteData          INFO Element = 0x???? : 204.445
+ReWriteData          INFO Element = 0x???? : 210.864
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 201.234
+ReWriteData          INFO Element = 0x???? : 217.285
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 201.234
+ReWriteData          INFO Element = 0x???? : 217.285
+ReWriteData          INFO Element = 0x???? : 210.864
+ReWriteData          INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 2  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 2  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 3
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 3
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 301.235
+ReWriteData          INFO ElementLink2 = 330.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 301.235
+ReWriteData          INFO Element = 0x???? : 304.445
+ReWriteData          INFO Element = 0x???? : 310.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 301.235
+ReWriteData          INFO Element = 0x???? : 317.285
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 301.235
+ReWriteData          INFO Element = 0x???? : 317.285
+ReWriteData          INFO Element = 0x???? : 310.865
+ReWriteData          INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 3  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 3  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 4
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 4
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 401.235
+ReWriteData          INFO ElementLink2 = 430.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 401.235
+ReWriteData          INFO Element = 0x???? : 404.445
+ReWriteData          INFO Element = 0x???? : 410.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 401.235
+ReWriteData          INFO Element = 0x???? : 417.285
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 401.235
+ReWriteData          INFO Element = 0x???? : 417.285
+ReWriteData          INFO Element = 0x???? : 410.865
+ReWriteData          INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 4  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 4  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 5
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 5
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 501.235
+ReWriteData          INFO ElementLink2 = 530.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 501.235
+ReWriteData          INFO Element = 0x???? : 504.445
+ReWriteData          INFO Element = 0x???? : 510.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 501.235
+ReWriteData          INFO Element = 0x???? : 517.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 501.235
+ReWriteData          INFO Element = 0x???? : 517.284
+ReWriteData          INFO Element = 0x???? : 510.865
+ReWriteData          INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 5  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 5  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 6
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 6
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 601.235
+ReWriteData          INFO ElementLink2 = 630.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 601.235
+ReWriteData          INFO Element = 0x???? : 604.445
+ReWriteData          INFO Element = 0x???? : 610.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 601.235
+ReWriteData          INFO Element = 0x???? : 617.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 601.235
+ReWriteData          INFO Element = 0x???? : 617.284
+ReWriteData          INFO Element = 0x???? : 610.865
+ReWriteData          INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 6  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 6  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 7
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 7
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 701.235
+ReWriteData          INFO ElementLink2 = 730.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 701.235
+ReWriteData          INFO Element = 0x???? : 704.445
+ReWriteData          INFO Element = 0x???? : 710.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 701.235
+ReWriteData          INFO Element = 0x???? : 717.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 701.235
+ReWriteData          INFO Element = 0x???? : 717.284
+ReWriteData          INFO Element = 0x???? : 710.865
+ReWriteData          INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 7  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 7  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 8
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 8
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 801.235
+ReWriteData          INFO ElementLink2 = 830.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 801.235
+ReWriteData          INFO Element = 0x???? : 804.445
+ReWriteData          INFO Element = 0x???? : 810.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 801.235
+ReWriteData          INFO Element = 0x???? : 817.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 801.235
+ReWriteData          INFO Element = 0x???? : 817.284
+ReWriteData          INFO Element = 0x???? : 810.865
+ReWriteData          INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 8  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 8  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 9
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 9
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 901.235
+ReWriteData          INFO ElementLink2 = 930.125
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 901.235
+ReWriteData          INFO Element = 0x???? : 904.445
+ReWriteData          INFO Element = 0x???? : 910.865
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 901.235
+ReWriteData          INFO Element = 0x???? : 917.284
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 901.235
+ReWriteData          INFO Element = 0x???? : 917.284
+ReWriteData          INFO Element = 0x???? : 910.865
+ReWriteData          INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 9  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 9  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 10
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 10
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 10 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1001.23
+ReWriteData          INFO ElementLink2 = 1030.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1001.23
+ReWriteData          INFO Element = 0x???? : 1004.44
+ReWriteData          INFO Element = 0x???? : 1010.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1001.23
+ReWriteData          INFO Element = 0x???? : 1017.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1001.23
+ReWriteData          INFO Element = 0x???? : 1017.28
+ReWriteData          INFO Element = 0x???? : 1010.86
+ReWriteData          INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 10  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 10  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 11
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 11
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1101.23
+ReWriteData          INFO ElementLink2 = 1130.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1101.23
+ReWriteData          INFO Element = 0x???? : 1104.44
+ReWriteData          INFO Element = 0x???? : 1110.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1101.23
+ReWriteData          INFO Element = 0x???? : 1117.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1101.23
+ReWriteData          INFO Element = 0x???? : 1117.28
+ReWriteData          INFO Element = 0x???? : 1110.86
+ReWriteData          INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 11  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 11  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 12
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 12
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1201.23
+ReWriteData          INFO ElementLink2 = 1230.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1201.23
+ReWriteData          INFO Element = 0x???? : 1204.44
+ReWriteData          INFO Element = 0x???? : 1210.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1201.23
+ReWriteData          INFO Element = 0x???? : 1217.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1201.23
+ReWriteData          INFO Element = 0x???? : 1217.28
+ReWriteData          INFO Element = 0x???? : 1210.86
+ReWriteData          INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 12  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 12  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 13
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 13
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1301.23
+ReWriteData          INFO ElementLink2 = 1330.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1301.23
+ReWriteData          INFO Element = 0x???? : 1304.44
+ReWriteData          INFO Element = 0x???? : 1310.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1301.23
+ReWriteData          INFO Element = 0x???? : 1317.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1301.23
+ReWriteData          INFO Element = 0x???? : 1317.28
+ReWriteData          INFO Element = 0x???? : 1310.86
+ReWriteData          INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 13  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 13  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 14
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 14
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1401.23
+ReWriteData          INFO ElementLink2 = 1430.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1401.23
+ReWriteData          INFO Element = 0x???? : 1404.44
+ReWriteData          INFO Element = 0x???? : 1410.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1401.23
+ReWriteData          INFO Element = 0x???? : 1417.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1401.23
+ReWriteData          INFO Element = 0x???? : 1417.28
+ReWriteData          INFO Element = 0x???? : 1410.86
+ReWriteData          INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 14  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 14  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 15
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 15
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1501.23
+ReWriteData          INFO ElementLink2 = 1530.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1501.23
+ReWriteData          INFO Element = 0x???? : 1504.44
+ReWriteData          INFO Element = 0x???? : 1510.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1501.23
+ReWriteData          INFO Element = 0x???? : 1517.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1501.23
+ReWriteData          INFO Element = 0x???? : 1517.28
+ReWriteData          INFO Element = 0x???? : 1510.86
+ReWriteData          INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 15  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 15  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 16
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 16
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1601.23
+ReWriteData          INFO ElementLink2 = 1630.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1601.23
+ReWriteData          INFO Element = 0x???? : 1604.44
+ReWriteData          INFO Element = 0x???? : 1610.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1601.23
+ReWriteData          INFO Element = 0x???? : 1617.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1601.23
+ReWriteData          INFO Element = 0x???? : 1617.28
+ReWriteData          INFO Element = 0x???? : 1610.86
+ReWriteData          INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 16  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 16  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 17
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 17
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1701.23
+ReWriteData          INFO ElementLink2 = 1730.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1701.23
+ReWriteData          INFO Element = 0x???? : 1704.44
+ReWriteData          INFO Element = 0x???? : 1710.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1701.23
+ReWriteData          INFO Element = 0x???? : 1717.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1701.23
+ReWriteData          INFO Element = 0x???? : 1717.28
+ReWriteData          INFO Element = 0x???? : 1710.86
+ReWriteData          INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 17  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 17  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 18
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 18
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1801.23
+ReWriteData          INFO ElementLink2 = 1830.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1801.23
+ReWriteData          INFO Element = 0x???? : 1804.44
+ReWriteData          INFO Element = 0x???? : 1810.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1801.23
+ReWriteData          INFO Element = 0x???? : 1817.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1801.23
+ReWriteData          INFO Element = 0x???? : 1817.28
+ReWriteData          INFO Element = 0x???? : 1810.86
+ReWriteData          INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 18  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 18  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 19
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 19
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReWriteData          INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+ReWriteData          INFO ElementLink1 = 1901.23
+ReWriteData          INFO ElementLink2 = 1930.12
+ReWriteData          INFO Link ElementLinkVector = 3
+ReWriteData          INFO Element = 0x???? : 1901.23
+ReWriteData          INFO Element = 0x???? : 1904.44
+ReWriteData          INFO Element = 0x???? : 1910.86
+ReWriteData          INFO Link Navigable = 2
+ReWriteData          INFO Element = 0x???? : 1901.23
+ReWriteData          INFO Element = 0x???? : 1917.28
+ReWriteData          INFO Link Weighted Navigable = 3
+ReWriteData          INFO Element = 0x???? : 1901.23
+ReWriteData          INFO Element = 0x???? : 1917.28
+ReWriteData          INFO Element = 0x???? : 1910.86
+ReWriteData          INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 19  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 19  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 20
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 20
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 20 events processed so far  <<<===
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolReplica1.root
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Stream1             DEBUG handle() incident type: MetaDataStop
+Stream1             DEBUG addItemObjects(167728019,"Stream1") called
+Stream1             DEBUG            Key:Stream1
+Stream1             DEBUG  Added object 167728019,"Stream1"
+Stream1             DEBUG addItemObjects(1316383046,"*") called
+Stream1             DEBUG            Key:*
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO EventStreamInfo_p3 [????]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Adding Shape[6 , ????]:  [1 Column(s)] 
+SimplePoolFile3...  DEBUG ---->Class:EventStreamInfo_p3
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+Stream1              INFO Records written: 21
+Stream1             DEBUG Leaving handle
+RegStream1          DEBUG handle() incident type: MetaDataStop
+RegStream1.TagTool   INFO Collection Events output: 20
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   CREATE    [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     UPDATE    [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+ReWriteData          INFO in finalize()
+WriteTag             INFO in finalize()
+MagicWriteTag        INFO in finalize()
+Stream1             DEBUG finalize: Optimize output
+Stream1             DEBUG finalize: end optimize output
+RegStream1          DEBUG In finalize
+IncidentProcAlg2     INFO Finalize
+DecisionSvc          INFO Finalized successfully.
+AthenaPoolCnvSvc    DEBUG releasing all workers
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+commitOutput         INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 21
+fRep_ALL             INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 82
+cRepR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max=0.0985(+-  1.4)/    0/   20 [ms] #=203
+cRep_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=0.488(+- 2.66)/    0/   20 [ms] #= 82
+cObjR_ALL            INFO Time User   : Tot=   10 [ms] Ave/Min/Max=0.154(+- 1.23)/    0/   10 [ms] #= 65
+cObj_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=0.635(+- 3.02)/    0/   20 [ms] #= 63
+ChronoStatSvc        INFO Time User   : Tot= 1.17  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref
new file mode 100644
index 00000000000..212cea123be
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref
@@ -0,0 +1,1390 @@
+Mon Jan 22 13:12:36 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteNextJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:12:48 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc    DEBUG Property update for OutputLevel : new value = 2
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc             DEBUG POOL ReadCatalog is file:Catalog.xml
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "SimplePoolFile3.root" from the collection list.
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+ReWriteData         DEBUG Property update for OutputLevel : new value = 2
+ReWriteData          INFO in initialize()
+ReWriteData         DEBUG input handles: 0
+ReWriteData         DEBUG output handles: 0
+ReWriteData         DEBUG Data Deps for ReWriteData
+WriteTag             INFO in initialize()
+MagicWriteTag        INFO in initialize()
+Stream1             DEBUG Property update for OutputLevel : new value = 2
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+ClassIDSvc           INFO  getRegistryEntries: read 3114 CLIDRegistry entries for module ALL
+Stream1             DEBUG In initialize 
+Stream1             DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: Stream1 with no Algs
+Stream1             DEBUG End initialize 
+Stream1             DEBUG In initialize
+Stream1             DEBUG Found StoreGateSvc store.
+Stream1             DEBUG Found MetaDataStore store.
+OutputStreamSeq...   INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-00-00-00
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+ClassIDSvc           INFO  getRegistryEntries: read 386 CLIDRegistry entries for module ALL
+Stream1.Stream1...   INFO Initializing Stream1.Stream1Tool - package version OutputStreamAthenaPool-00-00-00
+Stream1.Stream1...   INFO streamProperty ProcessingTag = Stream1
+AthenaPoolAddre...  DEBUG Cannot find DataHeader in DetectorStore.
+Stream1.Stream1...  DEBUG Property update for OutputLevel : new value = 2
+Stream1.Stream1...   INFO Initializing Stream1.Stream1_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00
+Stream1              INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream1_MakeEventStreamInfo'])
+Stream1              INFO Data output: SimplePoolFile4.root
+Stream1              INFO I/O reinitialization...
+Stream1             DEBUG End initialize
+Stream1             DEBUG input handles: 0
+Stream1             DEBUG output handles: 0
+Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
+Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
+Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaPoolOutputStreamTool)
+Stream1             DEBUG Data Deps for Stream1
+RegStream1          DEBUG Property update for OutputLevel : new value = 2
+RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
+RegStream1          DEBUG In initialize 
+RegStream1          DEBUG Found IDecisionSvc.
+DecisionSvc          INFO Inserting stream: RegStream1 with no Algs
+RegStream1          DEBUG End initialize 
+RegStream1          DEBUG In initialize 
+RegStream1          DEBUG Found  'StoreName':StoreGateSvc store.
+RegStream1.TagTool  DEBUG Property update for OutputLevel : new value = 2
+RegStream1          DEBUG  Tool initialized
+RegStream1          DEBUG Retrieved IncidentSvc
+RegStream1          DEBUG Added MetaDataStop listener
+RegStream1          DEBUG  Not class requested by Tool, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+RegStream1          DEBUG End initialize 
+RegStream1          DEBUG input handles: 0
+RegStream1          DEBUG output handles: 0
+RegStream1          DEBUG Adding private ToolHandle tool RegStream1.TagTool (RegistrationStreamTagTool)
+RegStream1          DEBUG Data Deps for RegStream1
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+EventSelector       DEBUG Try item: "SimplePoolFile3.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile3.root
+ApplicationMgr       INFO Application Manager Started successfully
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile3.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile3.root
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+WriteTag             INFO EventInfo event: 0  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 0  run: 1
+MagicWriteTag        INFO registered all data
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     UPDATE    [ROOT_All] 
+AthenaPoolCnvSvc    DEBUG setAttribute TREE_MAX_SIZE to 1099511627776L
+AthenaPoolCnvSvc    DEBUG setAttribute DEFAULT_SPLITLEVEL to 0
+AthenaPoolCnvSvc    DEBUG setAttribute STREAM_MEMBER_WISE to 1
+AthenaPoolCnvSvc    DEBUG setAttribute DEFAULT_BUFFERSIZE to 32000
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   CREATE    [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile4.root
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+##Shapes            DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+##Links             DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREATE    [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/##Params [200]  (2 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+##Params            DEBUG No objects passing selection criteria... Container has 0 Entries in total.
+AthenaPoolCnvSvc    DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile4.root and cont: TTree=POOLContainerForm(DataHeaderForm)
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 1
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[0 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:EventInfo_p4
+SimplePoolFile4...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[1 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:ExampleTrackContainer_p1
+SimplePoolFile4...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[2 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:DataHeaderForm_p5
+SimplePoolFile4...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[3 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:DataHeader_p5
+SimplePoolFile4...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(Token)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'Token'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[4 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:Token
+SimplePoolFile4...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(RunNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'RunNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[5 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:unsigned int
+SimplePoolFile4...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(EventNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'EventNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber)
+POOLCollectionT...  DEBUG Opening
+POOLCollectionT...  DEBUG    attributes# = 1
+POOLCollectionT...  DEBUG Branch container 'MagicNumber'
+POOLCollectionT...  DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] POOLContainer(basic/DataHeader)
+POOLContainer(b...  DEBUG Opening
+POOLContainer(b...  DEBUG    attributes# = 1
+POOLContainer(b...  DEBUG Branch container 'basic_DataHeader'
+POOLContainer(b...  DEBUG Opened container POOLContainer(basic/DataHeader) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+AthenaPoolCnvSvc    DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile4.root and cont: POOLContainer(DataHeader)
+AthenaPoolCnvSvc    DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile4.root and cont: POOLContainerForm(DataHeaderForm)
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000000]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+PoolSvc              INFO Writing ExplicitROOT Collection - do not pass session pointer
+RegStream1.TagTool   INFO No Primary Key defined
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 1  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 1  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 2
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 2
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000001]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 2  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 2  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 3
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 3
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000002]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 3  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 3  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 4
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 4
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000003]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 4  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 4  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 5
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 5
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000004]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 5  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 5  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 6
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 6
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000005]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 6  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 6  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 7
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 7
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000006]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 7  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 7  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 8
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 8
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000007]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 8  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 8  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 9
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 9
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000008]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 9  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 9  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 10
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 10
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000009]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 10 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 10  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 10  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 11
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 11
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 11  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 11  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 12
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 12
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 12  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 12  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 13
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 13
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 13  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 13  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 14
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 14
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 14  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 14  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 15
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 15
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 15  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 15  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 16
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 16
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 16  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 16  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 17
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 17
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 17  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 17  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 18
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 18
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 18  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 18  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 19
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 19
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+ReWriteData         DEBUG in execute()
+ReWriteData          INFO registered all data
+WriteTag             INFO EventInfo event: 19  run: 1
+WriteTag             INFO registered all data
+MagicWriteTag        INFO EventInfo event: 19  run: 1
+MagicWriteTag        INFO registered all data
+Stream1             DEBUG addItemObjects(2101,"*") called
+Stream1             DEBUG            Key:*
+Stream1             DEBUG  Added object 2101,"McEventInfo"
+Stream1             DEBUG addItemObjects(9103,"MyTracks") called
+Stream1             DEBUG            Key:MyTracks
+Stream1             DEBUG  Added object 9103,"MyTracks"
+Stream1             DEBUG  Collected objects:
+Stream1             DEBUG  Object/count: EventInfo_McEventInfo, 20
+Stream1             DEBUG  Object/count: ExampleTrackContainer_MyTracks, 20
+RegStream1          DEBUG RegistrationStream execute
+RegStream1          DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") 
+RegStream1          DEBUG  get ref for (222376821,"Stream1") 
+RegStream1          DEBUG Retrieved DataHeader with key Stream1
+RegStream1          DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013]
+RegStream1          DEBUG Adding ref for Stream1
+RegStream1          DEBUG Setting tagKey to MagicTag
+RegStream1          DEBUG  Not class requested by Tool, skipping (222376821,"Stream1") 
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 20 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile3.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Stream1             DEBUG handle() incident type: MetaDataStop
+Stream1             DEBUG addItemObjects(167728019,"Stream1") called
+Stream1             DEBUG            Key:Stream1
+Stream1             DEBUG  Added object 167728019,"Stream1"
+Stream1             DEBUG addItemObjects(1316383046,"*") called
+Stream1             DEBUG            Key:*
+StorageSvc           INFO Building shape according to reflection information using shape ID for:
+StorageSvc           INFO EventStreamInfo_p3 [????]
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Adding Shape[6 , ????]:  [1 Column(s)] 
+SimplePoolFile4...  DEBUG ---->Class:EventStreamInfo_p3
+SimplePoolFile4...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --> Access   DbContainer  CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+Stream1              INFO Records written: 21
+Stream1             DEBUG Leaving handle
+RegStream1          DEBUG handle() incident type: MetaDataStop
+RegStream1.TagTool   INFO Collection Events output: 20
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   CREATE    [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     UPDATE    [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+ReWriteData          INFO in finalize()
+WriteTag             INFO in finalize()
+MagicWriteTag        INFO in finalize()
+Stream1             DEBUG finalize: Optimize output
+Stream1             DEBUG finalize: end optimize output
+RegStream1          DEBUG In finalize
+IncidentProcAlg2     INFO Finalize
+DecisionSvc          INFO Finalized successfully.
+AthenaPoolCnvSvc    DEBUG releasing all workers
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+commitOutput         INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 21
+fRep_ALL             INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 82
+cRep_ALL             INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 82
+cRepR_ALL            INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #=203
+cObjR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max=0.308(+- 1.73)/    0/   10 [ms] #= 65
+cObj_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=0.635(+- 3.02)/    0/   20 [ms] #= 63
+ChronoStatSvc        INFO Time User   : Tot= 1.17  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref
new file mode 100644
index 00000000000..fe23fcb22cb
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref
@@ -0,0 +1,3065 @@
+Mon Jan 22 13:10:45 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:10:58 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+IoComponentMgr       INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile1.root
+ApplicationMgr       INFO Application Manager Started successfully
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile1.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile1.root
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector        INFO skipping event 1
+EventSelector        INFO skipping event 2
+EventSelector        INFO skipping event 3
+EventSelector        INFO skipping event 4
+EventSelector        INFO skipping event 5
+EventSelector        INFO skipping event 6
+EventSelector        INFO skipping event 7
+EventSelector        INFO skipping event 8
+EventSelector        INFO skipping event 9
+EventSelector        INFO skipping event 10
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+ClassIDSvc           INFO  getRegistryEntries: read 2674 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 10 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile1.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile2.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile2.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 6 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (6 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (7 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (8 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (9 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (a , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (b , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (c , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (d , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (e , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile2...  DEBUG --->Reading Param:PFN=[SimplePoolFile2.root]
+SimplePoolFile2...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile2...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile2.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile2.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start of run 2    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #2 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #2 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #2 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #2 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #2 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #2 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #2 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #2 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #2 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #2 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #2 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #2 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #2 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #2 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #2 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #2 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #2 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #2 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #2 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #2 40 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #2 40 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #2 41 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #2 41 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #2 42 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #2 42 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #2 43 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #2 43 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #2 44 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #2 44 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #2 45 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #2 45 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #2 46 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #2 46 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #2 47 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #2 47 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #2 48 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #2 48 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #2 49 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #2 49 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #2 50 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile2.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile3.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile3.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile3.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile3.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 50 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO ElementLink1 = 1.2345
+ReadData             INFO ElementLink2 = 30.1245
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 4.4445
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 51 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 51 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 101.234
+ReadData             INFO ElementLink2 = 130.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 104.444
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 52 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 52 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 201.234
+ReadData             INFO ElementLink2 = 230.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 204.445
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 53 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 53 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 301.235
+ReadData             INFO ElementLink2 = 330.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 304.445
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 54 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 54 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 401.235
+ReadData             INFO ElementLink2 = 430.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 404.445
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 55 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 55 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 501.235
+ReadData             INFO ElementLink2 = 530.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 504.445
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 56 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 56 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 601.235
+ReadData             INFO ElementLink2 = 630.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 604.445
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 57 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 57 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 701.235
+ReadData             INFO ElementLink2 = 730.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 704.445
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 58 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 58 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 801.235
+ReadData             INFO ElementLink2 = 830.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 804.445
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 59 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 59 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 901.235
+ReadData             INFO ElementLink2 = 930.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 904.445
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 60 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 60 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1001.23
+ReadData             INFO ElementLink2 = 1030.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1004.44
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 61 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 61 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1101.23
+ReadData             INFO ElementLink2 = 1130.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1104.44
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 62 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 62 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1201.23
+ReadData             INFO ElementLink2 = 1230.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1204.44
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 63 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 63 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1301.23
+ReadData             INFO ElementLink2 = 1330.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1304.44
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 64 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 64 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1401.23
+ReadData             INFO ElementLink2 = 1430.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1404.44
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 65 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 65 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1501.23
+ReadData             INFO ElementLink2 = 1530.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1504.44
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 66 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 66 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1601.23
+ReadData             INFO ElementLink2 = 1630.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1604.44
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 67 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 67 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1701.23
+ReadData             INFO ElementLink2 = 1730.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1704.44
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 68 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 68 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1801.23
+ReadData             INFO ElementLink2 = 1830.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1804.44
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 69 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 69 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1901.23
+ReadData             INFO ElementLink2 = 1930.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1904.44
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 70 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile3.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   30 [ms] Ave/Min/Max= 0.11(+- 1.04)/    0/   10 [ms] #=272
+cObj_ALL             INFO Time User   : Tot=   60 [ms] Ave/Min/Max=0.271(+- 1.88)/    0/   20 [ms] #=221
+ChronoStatSvc        INFO Time User   : Tot= 1.14  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref
new file mode 100644
index 00000000000..ace67d91e90
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref
@@ -0,0 +1,3185 @@
+Mon Jan 22 13:13:28 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:13:43 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+IoComponentMgr       INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolReplica1.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Param:FID=[????]
+SimplePoolRepli...  DEBUG --->Reading Param:PFN=[SimplePoolReplica1.root]
+SimplePoolRepli...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolRepli...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolReplica1.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Param:FID=[????]
+SimplePoolRepli...  DEBUG --->Reading Param:PFN=[SimplePoolReplica1.root]
+SimplePoolRepli...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolRepli...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+ApplicationMgr       INFO Application Manager Started successfully
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolReplica1.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolReplica1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector        INFO skipping event 1
+EventSelector        INFO skipping event 2
+EventSelector        INFO skipping event 3
+EventSelector        INFO skipping event 4
+EventSelector        INFO skipping event 5
+EventSelector        INFO skipping event 6
+EventSelector        INFO skipping event 7
+EventSelector        INFO skipping event 8
+EventSelector        INFO skipping event 9
+EventSelector        INFO skipping event 10
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+ClassIDSvc           INFO  getRegistryEntries: read 2671 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [BYTES_READ]: 27430
+PoolSvc              INFO Database (SimplePoolReplica1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 10 events processed so far  <<<===
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolReplica1.root
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile2.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile2.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 6 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (6 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (7 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (8 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (9 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (a , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (b , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (c , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (d , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (e , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile2...  DEBUG --->Reading Param:PFN=[SimplePoolFile2.root]
+SimplePoolFile2...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile2...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile2.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile2.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+ClassIDSvc           INFO  getRegistryEntries: read 3 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start of run 2    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #2 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #2 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #2 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #2 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #2 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #2 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #2 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #2 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #2 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #2 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #2 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #2 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #2 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #2 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #2 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #2 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #2 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #2 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #2 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #2 40 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #2 40 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #2 41 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #2 41 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #2 42 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #2 42 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #2 43 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #2 43 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #2 44 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #2 44 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #2 45 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #2 45 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #2 46 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #2 46 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #2 47 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #2 47 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #2 48 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #2 48 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #2 49 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #2 49 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #2 50 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile2.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile4.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile4.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile4.root
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile4...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile4...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+SimplePoolFile4...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile4...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile4...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile4...  DEBUG --->Reading Param:PFN=[SimplePoolFile4.root]
+SimplePoolFile4...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile4...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile4.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile4.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile4.root
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 50 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile4...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolReplica1.root
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolRepli...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolRepli...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+SimplePoolRepli...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolRepli...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolRepli...  DEBUG --->Reading Param:FID=[????]
+SimplePoolRepli...  DEBUG --->Reading Param:PFN=[SimplePoolReplica1.root]
+SimplePoolRepli...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolRepli...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+SimplePoolRepli...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO ElementLink1 = 1.2345
+ReadData             INFO ElementLink2 = 30.1245
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 4.4445
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 51 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 51 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 101.234
+ReadData             INFO ElementLink2 = 130.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 104.444
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 52 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 52 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 201.234
+ReadData             INFO ElementLink2 = 230.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 204.445
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 53 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 53 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 301.235
+ReadData             INFO ElementLink2 = 330.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 304.445
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 54 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 54 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 401.235
+ReadData             INFO ElementLink2 = 430.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 404.445
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 55 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 55 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 501.235
+ReadData             INFO ElementLink2 = 530.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 504.445
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 56 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 56 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 601.235
+ReadData             INFO ElementLink2 = 630.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 604.445
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 57 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 57 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 701.235
+ReadData             INFO ElementLink2 = 730.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 704.445
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 58 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 58 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 801.235
+ReadData             INFO ElementLink2 = 830.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 804.445
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 59 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 59 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 901.235
+ReadData             INFO ElementLink2 = 930.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 904.445
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 60 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 60 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1001.23
+ReadData             INFO ElementLink2 = 1030.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1004.44
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 61 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 61 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1101.23
+ReadData             INFO ElementLink2 = 1130.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1104.44
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 62 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 62 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1201.23
+ReadData             INFO ElementLink2 = 1230.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1204.44
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 63 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 63 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1301.23
+ReadData             INFO ElementLink2 = 1330.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1304.44
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 64 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 64 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1401.23
+ReadData             INFO ElementLink2 = 1430.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1404.44
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 65 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 65 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1501.23
+ReadData             INFO ElementLink2 = 1530.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1504.44
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 66 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 66 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1601.23
+ReadData             INFO ElementLink2 = 1630.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1604.44
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 67 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 67 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1701.23
+ReadData             INFO ElementLink2 = 1730.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1704.44
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 68 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 68 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1801.23
+ReadData             INFO ElementLink2 = 1830.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1804.44
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 69 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 69 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1901.23
+ReadData             INFO ElementLink2 = 1930.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1904.44
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 27285
+PoolSvc              INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 70 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile4.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   30 [ms] Ave/Min/Max=0.0965(+-0.977)/    0/   10 [ms] #=311
+cObj_ALL             INFO Time User   : Tot=   60 [ms] Ave/Min/Max=0.249(+-  1.8)/    0/   20 [ms] #=241
+ChronoStatSvc        INFO Time User   : Tot= 1.16  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref
new file mode 100644
index 00000000000..7757ac94555
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref
@@ -0,0 +1,3066 @@
+Mon Jan 22 13:11:23 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadBNJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:11:35 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+IoComponentMgr       INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+AthenaPoolAddre...   INFO BackNavigationScope for: ExampleHitContainer#MyHits :: Stream1
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile1.root
+ApplicationMgr       INFO Application Manager Started successfully
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile1.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile1.root
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector        INFO skipping event 1
+EventSelector        INFO skipping event 2
+EventSelector        INFO skipping event 3
+EventSelector        INFO skipping event 4
+EventSelector        INFO skipping event 5
+EventSelector        INFO skipping event 6
+EventSelector        INFO skipping event 7
+EventSelector        INFO skipping event 8
+EventSelector        INFO skipping event 9
+EventSelector        INFO skipping event 10
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+ClassIDSvc           INFO  getRegistryEntries: read 2674 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 10 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile1.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile2.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile2.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 6 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (6 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (7 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (8 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (9 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (a , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (b , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (c , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (d , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (e , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile2...  DEBUG --->Reading Param:PFN=[SimplePoolFile2.root]
+SimplePoolFile2...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile2...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile2.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile2.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start of run 2    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #2 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #2 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #2 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #2 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #2 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #2 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #2 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #2 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #2 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #2 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #2 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #2 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #2 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #2 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #2 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #2 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #2 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #2 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #2 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #2 40 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #2 40 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #2 41 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #2 41 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #2 42 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #2 42 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #2 43 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #2 43 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #2 44 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #2 44 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #2 45 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #2 45 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #2 46 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #2 46 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #2 47 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #2 47 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #2 48 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #2 48 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #2 49 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #2 49 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #2 50 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile2.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile3.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile3.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile3.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile3.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 50 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO ElementLink1 = 1.2345
+ReadData             INFO ElementLink2 = 30.1245
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 4.4445
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 51 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 51 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 101.234
+ReadData             INFO ElementLink2 = 130.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 104.444
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 52 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 52 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 201.234
+ReadData             INFO ElementLink2 = 230.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 204.445
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 53 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 53 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 301.235
+ReadData             INFO ElementLink2 = 330.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 304.445
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 54 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 54 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 401.235
+ReadData             INFO ElementLink2 = 430.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 404.445
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 55 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 55 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 501.235
+ReadData             INFO ElementLink2 = 530.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 504.445
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 56 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 56 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 601.235
+ReadData             INFO ElementLink2 = 630.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 604.445
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 57 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 57 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 701.235
+ReadData             INFO ElementLink2 = 730.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 704.445
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 58 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 58 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 801.235
+ReadData             INFO ElementLink2 = 830.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 804.445
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 59 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 59 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 901.235
+ReadData             INFO ElementLink2 = 930.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 904.445
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 60 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 60 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1001.23
+ReadData             INFO ElementLink2 = 1030.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1004.44
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 61 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 61 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1101.23
+ReadData             INFO ElementLink2 = 1130.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1104.44
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 62 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 62 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1201.23
+ReadData             INFO ElementLink2 = 1230.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1204.44
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 63 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 63 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1301.23
+ReadData             INFO ElementLink2 = 1330.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1304.44
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 64 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 64 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1401.23
+ReadData             INFO ElementLink2 = 1430.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1404.44
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 65 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 65 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1501.23
+ReadData             INFO ElementLink2 = 1530.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1504.44
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 66 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 66 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1601.23
+ReadData             INFO ElementLink2 = 1630.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1604.44
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 67 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 67 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1701.23
+ReadData             INFO ElementLink2 = 1730.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1704.44
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 68 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 68 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1801.23
+ReadData             INFO ElementLink2 = 1830.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1804.44
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 69 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 69 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1901.23
+ReadData             INFO ElementLink2 = 1930.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1904.44
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 70 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile3.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   30 [ms] Ave/Min/Max= 0.11(+- 1.04)/    0/   10 [ms] #=272
+cObj_ALL             INFO Time User   : Tot=   70 [ms] Ave/Min/Max=0.317(+- 2.21)/    0/   20 [ms] #=221
+ChronoStatSvc        INFO Time User   : Tot= 1.11  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref
new file mode 100644
index 00000000000..a967320e2df
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref
@@ -0,0 +1,3101 @@
+Mon Jan 22 13:14:06 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:14:18 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+IoComponentMgr       INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+ApplicationMgr       INFO Application Manager Started successfully
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile1.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector        INFO skipping event 1
+EventSelector        INFO skipping event 2
+EventSelector        INFO skipping event 3
+EventSelector        INFO skipping event 4
+EventSelector        INFO skipping event 5
+EventSelector        INFO skipping event 6
+EventSelector        INFO skipping event 7
+EventSelector        INFO skipping event 8
+EventSelector        INFO skipping event 9
+EventSelector        INFO skipping event 10
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+ClassIDSvc           INFO  getRegistryEntries: read 2671 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27476
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 10 events processed so far  <<<===
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile1.root
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile2.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile2.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 6 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (6 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (7 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (8 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (9 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (a , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (b , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (c , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (d , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (e , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile2...  DEBUG --->Reading Param:PFN=[SimplePoolFile2.root]
+SimplePoolFile2...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile2...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile2.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile2.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+ClassIDSvc           INFO  getRegistryEntries: read 3 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start of run 2    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #2 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #2 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #2 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #2 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #2 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #2 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #2 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #2 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #2 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #2 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #2 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #2 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #2 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #2 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #2 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #2 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #2 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #2 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #2 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #2 40 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #2 40 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #2 41 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #2 41 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #2 42 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #2 42 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #2 43 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #2 43 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #2 44 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #2 44 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #2 45 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #2 45 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #2 46 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #2 46 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #2 47 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #2 47 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #2 48 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #2 48 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #2 49 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #2 49 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #2 50 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile2.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile3.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile3.root
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile3.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile3.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 50 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO ElementLink1 = 1.2345
+ReadData             INFO ElementLink2 = 30.1245
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 4.4445
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1.2345
+ReadData             INFO Element = 0x???? : 17.2845
+ReadData             INFO Element = 0x???? : 10.8645
+ReadData             INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector
+ReadData             INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector
+ReadData             INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector
+ReadData             INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector
+ReadData             INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector
+ReadData             INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector
+ReadData             INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector
+ReadData             INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector
+ReadData             INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 51 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 51 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 101.234
+ReadData             INFO ElementLink2 = 130.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 104.444
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 101.234
+ReadData             INFO Element = 0x???? : 117.284
+ReadData             INFO Element = 0x???? : 110.864
+ReadData             INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector
+ReadData             INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector
+ReadData             INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector
+ReadData             INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector
+ReadData             INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector
+ReadData             INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector
+ReadData             INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector
+ReadData             INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector
+ReadData             INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector
+ReadData             INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 52 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 52 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 201.234
+ReadData             INFO ElementLink2 = 230.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 204.445
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 201.234
+ReadData             INFO Element = 0x???? : 217.285
+ReadData             INFO Element = 0x???? : 210.864
+ReadData             INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector
+ReadData             INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 53 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 53 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 301.235
+ReadData             INFO ElementLink2 = 330.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 304.445
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 301.235
+ReadData             INFO Element = 0x???? : 317.285
+ReadData             INFO Element = 0x???? : 310.865
+ReadData             INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector
+ReadData             INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 54 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 54 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 401.235
+ReadData             INFO ElementLink2 = 430.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 404.445
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 401.235
+ReadData             INFO Element = 0x???? : 417.285
+ReadData             INFO Element = 0x???? : 410.865
+ReadData             INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 55 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 55 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 501.235
+ReadData             INFO ElementLink2 = 530.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 504.445
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 501.235
+ReadData             INFO Element = 0x???? : 517.284
+ReadData             INFO Element = 0x???? : 510.865
+ReadData             INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 56 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 56 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 601.235
+ReadData             INFO ElementLink2 = 630.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 604.445
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 601.235
+ReadData             INFO Element = 0x???? : 617.284
+ReadData             INFO Element = 0x???? : 610.865
+ReadData             INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 57 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 57 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 701.235
+ReadData             INFO ElementLink2 = 730.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 704.445
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 701.235
+ReadData             INFO Element = 0x???? : 717.284
+ReadData             INFO Element = 0x???? : 710.865
+ReadData             INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 58 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 58 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 801.235
+ReadData             INFO ElementLink2 = 830.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 804.445
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 801.235
+ReadData             INFO Element = 0x???? : 817.284
+ReadData             INFO Element = 0x???? : 810.865
+ReadData             INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 59 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 59 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 901.235
+ReadData             INFO ElementLink2 = 930.125
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 904.445
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 901.235
+ReadData             INFO Element = 0x???? : 917.284
+ReadData             INFO Element = 0x???? : 910.865
+ReadData             INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 60 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 60 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1001.23
+ReadData             INFO ElementLink2 = 1030.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1004.44
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 61 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 61 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1101.23
+ReadData             INFO ElementLink2 = 1130.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1104.44
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 62 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 62 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1201.23
+ReadData             INFO ElementLink2 = 1230.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1204.44
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 63 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 63 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1301.23
+ReadData             INFO ElementLink2 = 1330.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1304.44
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 64 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 64 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1401.23
+ReadData             INFO ElementLink2 = 1430.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1404.44
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 65 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 65 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1501.23
+ReadData             INFO ElementLink2 = 1530.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1504.44
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 66 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 66 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1601.23
+ReadData             INFO ElementLink2 = 1630.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1604.44
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 67 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 67 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1701.23
+ReadData             INFO ElementLink2 = 1730.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1704.44
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 68 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 68 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1801.23
+ReadData             INFO ElementLink2 = 1830.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1804.44
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 69 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 69 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1901.23
+ReadData             INFO ElementLink2 = 1930.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1904.44
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 26855
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 70 events processed so far  <<<===
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile3.root
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   30 [ms] Ave/Min/Max= 0.11(+- 1.35)/    0/   20 [ms] #=272
+cObj_ALL             INFO Time User   : Tot=   60 [ms] Ave/Min/Max=0.271(+- 2.31)/    0/   30 [ms] #=221
+ChronoStatSvc        INFO Time User   : Tot= 1.11  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref
new file mode 100644
index 00000000000..74add1f6b78
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref
@@ -0,0 +1,2568 @@
+Mon Jan 22 13:11:40 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadNoBNJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:11:52 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+IoComponentMgr       INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+EventSelector       DEBUG Try item: "SimplePoolFile1.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile1.root
+ApplicationMgr       INFO Application Manager Started successfully
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile1.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile1.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile1.root
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector        INFO skipping event 1
+EventSelector        INFO skipping event 2
+EventSelector        INFO skipping event 3
+EventSelector        INFO skipping event 4
+EventSelector        INFO skipping event 5
+EventSelector        INFO skipping event 6
+EventSelector        INFO skipping event 7
+EventSelector        INFO skipping event 8
+EventSelector        INFO skipping event 9
+EventSelector        INFO skipping event 10
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+ClassIDSvc           INFO  getRegistryEntries: read 2674 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 27995
+PoolSvc              INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 24
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 10 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile1.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "EmptyPoolFile.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+EmptyPoolFile.root  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+EmptyPoolFile.root  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 3 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202]  (3 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (4 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+EmptyPoolFile.root  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (5 , ffffffff)
+EmptyPoolFile.root  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --->Reading Param:FID=[????]
+EmptyPoolFile.root  DEBUG --->Reading Param:PFN=[EmptyPoolFile.root]
+EmptyPoolFile.root  DEBUG --->Reading Param:POOL_VSN=[1.1]
+EmptyPoolFile.root  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+PoolSvc              INFO Failed to find container POOLContainer(DataHeader) to create POOL collection.
+PoolSvc              INFO Failed to find container POOLContainer_DataHeader to create POOL collection.
+EventSelector       DEBUG No events found in: EmptyPoolFile.root skipped!!!
+MetaDataSvc         DEBUG handle() BeginInputFile for EmptyPoolFile.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name EmptyPoolFile.root
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EmptyPoolFile.root  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG handle() EndInputFile for eventless EmptyPoolFile.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile2.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile2.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 6 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (6 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (7 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (8 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (9 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (a , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (b , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (c , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (d , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (e , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile2...  DEBUG --->Reading Param:PFN=[SimplePoolFile2.root]
+SimplePoolFile2...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile2...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile2.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile2.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 26591
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 27
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start of run 2    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #2 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #2 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #2 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #2 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #2 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #2 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #2 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #2 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #2 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #2 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #2 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #2 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #2 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #2 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #2 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #2 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #2 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #2 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #2 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #2 40 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #2 40 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #2 41 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #2 41 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #2 42 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #2 42 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #2 43 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #2 43 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #2 44 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #2 44 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #2 45 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #2 45 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #2 46 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #2 46 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #2 47 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #2 47 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #2 48 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #2 48 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #2 49 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #2 49 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 28480
+PoolSvc              INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 31
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #2 50 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile2.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFile3.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFile3.root
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+RootDatabase.se...  DEBUG TREE_CACHE_LEARN_EVENTS = 6
+RootDatabase.se...  DEBUG Request tree cache 
+RootDatabase.se...  DEBUG File name SimplePoolFile3.root
+RootDatabase.se...  DEBUG Got tree CollectionTree read entry -1
+RootDatabase.se...  DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFile3.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 50 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 51 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 51 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 52 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 52 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 53 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 53 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 54 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 54 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 55 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 55 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 56 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 56 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 57 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 57 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 58 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 58 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 59 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 59 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 60 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 60 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 61 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 61 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 62 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 62 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 63 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 63 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 64 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 64 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 65 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 65 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 66 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 66 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 67 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 67 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 68 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 68 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 69 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 69 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+DataProxy         WARNING accessData:  IOA pointer not set
+ReadData          WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 27200
+PoolSvc              INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 23
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 70 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFile3.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max=0.104(+- 1.44)/    0/   20 [ms] #=193
+cObj_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=0.221(+- 2.34)/    0/   30 [ms] #=181
+ChronoStatSvc        INFO Time User   : Tot=  1.1  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTag.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTag.ref
new file mode 100644
index 00000000000..96409749cf4
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadTag.ref
@@ -0,0 +1,2419 @@
+Mon Jan 22 13:11:03 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadTagJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas1.hep.anl.gov on Mon Jan 22 13:11:17 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2319 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /users/gemmeren/workarea/build/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas1.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is file:Catalog1.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+EventSelector.Q...  DEBUG Property update for OutputLevel : new value = 2
+EventSelector.Q...   INFO in initialize()
+IoComponentMgr       INFO IoComponent EventSelector has already had file EmptyPoolCollection.root registered with i/o mode READ
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "EmptyPoolCollection.root" from the collection list.
+EventSelector        INFO Using standard collection ref 
+EventSelector       DEBUG Try item: "SimplePoolCollection1.root" from the collection list.
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+EventSelector       DEBUG Try item: "EmptyPoolCollection.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for EmptyPoolCollection.root
+ApplicationMgr       INFO Application Manager Started successfully
+MetaDataSvc         DEBUG handle() EndTagFile for EmptyPoolCollection.root
+EventSelector       DEBUG Try item: "SimplePoolCollection1.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolCollection1.root
+MetaDataSvc         DEBUG handle() BeginInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+ClassIDSvc           INFO  getRegistryEntries: read 2674 CLIDRegistry entries for module ALL
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 1
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 2
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 3
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 4
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 5
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 6
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 7
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 8
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 9
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 10
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 0 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+ClassIDSvc           INFO  getRegistryEntries: read 10 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 1 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 2 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 3 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 3 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 4 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 4 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 5 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 5 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 6 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 6 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 7 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 7 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 8 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 8 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 9 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 9 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9102, key = MyHits
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 10 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolCollection1.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "EmptyPoolCollection.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for EmptyPoolCollection.root
+MetaDataSvc         DEBUG handle() EndTagFile for EmptyPoolCollection.root
+EventSelector       DEBUG Try item: "SimplePoolCollection2.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolCollection2.root
+MetaDataSvc         DEBUG handle() BeginInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile2.root
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile2...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile2...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 6 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (6 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (7 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (8 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (9 , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (a , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202]  (b , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (c , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (d , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+SimplePoolFile2...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (e , ffffffff)
+SimplePoolFile2...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile2...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile2...  DEBUG --->Reading Param:PFN=[SimplePoolFile2.root]
+SimplePoolFile2...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile2...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #0, run #1 10 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+SimplePoolFile2...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream2'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 0 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #0, run #1 11 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 11 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 1 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 12 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 12 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 2 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 13 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #3, run #1 13 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 3 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #3, run #1 14 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #4, run #1 14 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 4 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #4, run #1 15 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #5, run #1 15 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 5 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #5, run #1 16 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #6, run #1 16 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 6 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #6, run #1 17 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #7, run #1 17 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 7 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #7, run #1 18 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #8, run #1 18 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 8 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #8, run #1 19 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #9, run #1 19 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 9 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #9, run #1 20 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 20 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 21 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 21 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 22 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 22 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 23 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 23 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 24 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 24 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 25 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 25 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 26 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 26 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 27 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 27 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 28 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 28 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 29 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 29 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 30 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start of run 2    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #20, run #2 30 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 20 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #20, run #2 31 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #21, run #2 31 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 21 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #21, run #2 32 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #22, run #2 32 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 22 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #22, run #2 33 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #23, run #2 33 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 23 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #23, run #2 34 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #24, run #2 34 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 24 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #24, run #2 35 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #25, run #2 35 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 25 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #25, run #2 36 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #26, run #2 36 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 26 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #26, run #2 37 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #27, run #2 37 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 27 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #27, run #2 38 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #28, run #2 38 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 28 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #28, run #2 39 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #29, run #2 39 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 29 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #29, run #2 40 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #30, run #2 40 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 30 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #30, run #2 41 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #31, run #2 41 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 31 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #31, run #2 42 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #32, run #2 42 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 32 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #32, run #2 43 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #33, run #2 43 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 33 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #33, run #2 44 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #34, run #2 44 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 34 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #34, run #2 45 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #35, run #2 45 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 35 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #35, run #2 46 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #36, run #2 46 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 36 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #36, run #2 47 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #37, run #2 47 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 37 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #37, run #2 48 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #38, run #2 48 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 38 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #38, run #2 49 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #39, run #2 49 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 39 run: 2
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #39, run #2 50 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolCollection2.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolCollection3.root" from the collection list.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolCollection3.root
+MetaDataSvc         DEBUG handle() BeginInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile3.root
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile3...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile3...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202]  (4 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+SimplePoolFile3...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile3...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile3...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile3...  DEBUG --->Reading Param:PFN=[SimplePoolFile3.root]
+SimplePoolFile3...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile3...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 61
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 62
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 63
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 64
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 65
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 66
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 67
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 68
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 69
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009].
+EventSelector        INFO Request skipping event from: EventSelector.QueryTag
+EventSelector        INFO skipping event 70
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_McEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree
+AthenaEventLoopMgr   INFO   ===>>>  start of run 1    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #10, run #1 50 events processed so far  <<<===
+ReadData            DEBUG in execute()
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 10 run: 1
+ReadData             INFO Get Smart data ptr 1
+SimplePoolFile3...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree
+ReadData             INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFile1.root
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[5 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1
+SimplePoolFile1...  DEBUG --->Reading Shape[6 , ????]: [1 Column(s)]
+SimplePoolFile1...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 7 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202]  (3 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202]  (4 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (5 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (6 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202]  (7 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202]  (8 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202]  (9 , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202]  (a , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (b , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (c , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (d , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+SimplePoolFile1...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (e , ffffffff)
+SimplePoolFile1...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 13 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFile1...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFile1...  DEBUG --->Reading Param:PFN=[SimplePoolFile1.root]
+SimplePoolFile1...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFile1...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+SimplePoolFile1...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'ExampleHitContainer_p1_MyHits'
+CollectionTree(...  DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree
+ReadData             INFO ElementLink1 = 1001.23
+ReadData             INFO ElementLink2 = 1030.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1004.44
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1001.23
+ReadData             INFO Element = 0x???? : 1017.28
+ReadData             INFO Element = 0x???? : 1010.86
+ReadData             INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector
+ReadData             INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector
+ReadData             INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector
+ReadData             INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector
+ReadData             INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector
+ReadData             INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector
+ReadData             INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector
+ReadData             INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector
+ReadData             INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #10, run #1 51 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #11, run #1 51 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 11 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1101.23
+ReadData             INFO ElementLink2 = 1130.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1104.44
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1101.23
+ReadData             INFO Element = 0x???? : 1117.28
+ReadData             INFO Element = 0x???? : 1110.86
+ReadData             INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #11, run #1 52 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 52 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 12 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1201.23
+ReadData             INFO ElementLink2 = 1230.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1204.44
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1201.23
+ReadData             INFO Element = 0x???? : 1217.28
+ReadData             INFO Element = 0x???? : 1210.86
+ReadData             INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector
+ReadData             INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 53 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #13, run #1 53 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 13 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1301.23
+ReadData             INFO ElementLink2 = 1330.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1304.44
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1301.23
+ReadData             INFO Element = 0x???? : 1317.28
+ReadData             INFO Element = 0x???? : 1310.86
+ReadData             INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #13, run #1 54 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14, run #1 54 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1401.23
+ReadData             INFO ElementLink2 = 1430.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1404.44
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1401.23
+ReadData             INFO Element = 0x???? : 1417.28
+ReadData             INFO Element = 0x???? : 1410.86
+ReadData             INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14, run #1 55 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #15, run #1 55 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 15 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1501.23
+ReadData             INFO ElementLink2 = 1530.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1504.44
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1501.23
+ReadData             INFO Element = 0x???? : 1517.28
+ReadData             INFO Element = 0x???? : 1510.86
+ReadData             INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #15, run #1 56 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #16, run #1 56 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 16 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1601.23
+ReadData             INFO ElementLink2 = 1630.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1604.44
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1601.23
+ReadData             INFO Element = 0x???? : 1617.28
+ReadData             INFO Element = 0x???? : 1610.86
+ReadData             INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #16, run #1 57 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #17, run #1 57 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 17 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1701.23
+ReadData             INFO ElementLink2 = 1730.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1704.44
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1701.23
+ReadData             INFO Element = 0x???? : 1717.28
+ReadData             INFO Element = 0x???? : 1710.86
+ReadData             INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #17, run #1 58 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #18, run #1 58 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 18 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1801.23
+ReadData             INFO ElementLink2 = 1830.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1804.44
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1801.23
+ReadData             INFO Element = 0x???? : 1817.28
+ReadData             INFO Element = 0x???? : 1810.86
+ReadData             INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #18, run #1 59 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 3
+EventSelector       DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]
+AthenaPoolAddre...  DEBUG The current Event contains: 3 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #19, run #1 59 events processed so far  <<<===
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 20
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = McEventInfo
+ReadData             INFO CLID = 9103, key = MyTracks
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is sim , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 19 run: 1
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector
+AthenaPoolAddre...  DEBUG Found Address: 0x????
+ReadData             INFO ElementLink1 = 1901.23
+ReadData             INFO ElementLink2 = 1930.12
+ReadData             INFO Link ElementLinkVector = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1904.44
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Link Navigable = 2
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Link Weighted Navigable = 3
+ReadData             INFO Element = 0x???? : 1901.23
+ReadData             INFO Element = 0x???? : 1917.28
+ReadData             INFO Element = 0x???? : 1910.86
+ReadData             INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector
+ReadData             INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector
+ReadData             INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector
+ReadData             INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector
+ReadData             INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector
+ReadData             INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector
+ReadData             INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector
+ReadData             INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector
+ReadData             INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #19, run #1 60 events processed so far  <<<===
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolCollection3.root
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+EventSelector.Q...   INFO in finalize()
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max=0.102(+- 1.42)/    0/   20 [ms] #=197
+cObj_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=0.237(+- 2.42)/    0/   30 [ms] #=169
+ChronoStatSvc        INFO Time User   : Tot= 1.16  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadcBs.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadcBs.ref
new file mode 100644
index 00000000000..a4a69f63dea
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadcBs.ref
@@ -0,0 +1,315 @@
+Tue Jan  9 14:07:37 CST 2018
+Preloading tcmalloc_minimal.so
+Athena               INFO including file "AthenaCommon/Preparation.py"
+Athena               INFO including file "AthenaCommon/Bootstrap.py"
+Athena               INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
+Athena               INFO executing ROOT6Setup
+Athena               INFO including file "AthenaCommon/Execution.py"
+Athena               INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadBsJobOptions.py"
+Py:ConfigurableDb    INFO Read module info for 5433 configurables from 15 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Athena               INFO including file "AthenaCommon/runbatch.py"
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r1)
+                                          running on atlas2.hep.anl.gov on Tue Jan  9 14:07:52 2018
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
+ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+StatusCodeSvc        INFO initialize
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 2318 CLIDRegistry entries for module ALL
+ChronoStatSvc        INFO  Number of skipped events for MemStat-1
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ReadBs               INFO in initialize()
+MetaDataSvc         DEBUG Property update for OutputLevel : new value = 2
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+PoolSvc             DEBUG Property update for OutputLevel : new value = 2
+PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-01-05T2303/Athena/22.0.0/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host atlas2.hep.anl.gov [ATLF ]
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc             DEBUG OutputLevel is 
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+ToolSvc.ByteStr...   INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00
+EventSelector       DEBUG Property update for OutputLevel : new value = 2
+EventSelector        INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00
+EventSelector        INFO reinitialization...
+EventSelector        INFO EventSelection with query 
+EventSelector       DEBUG Try item: "SimplePoolFromRaw.root" from the collection list.
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFromRaw.root
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFromR...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:ByteStreamMetadataContainer_p1 Typ:ByteStreamMetadataContainer_p1 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/ByteStreamEventInfo) [202]  (3 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (6 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (7 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaData(ByteStreamMetadataContainer_p1/ByteStreamMetadata) [202]  (8 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFromR...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFromR...  DEBUG --->Reading Param:PFN=[SimplePoolFromRaw.root]
+SimplePoolFromR...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFromR...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG handle() FirstInputFile for FID:????
+MetaDataSvc         DEBUG initInputMetaDataStore: file name FID:????
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdrForm(DataHeaderForm)
+MetaDataHdrForm...  DEBUG Opening
+MetaDataHdrForm...  DEBUG    attributes# = 1
+MetaDataHdrForm...  DEBUG Branch container 'DataHeaderForm'
+MetaDataHdrForm...  DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+AthenaPoolAddre...  DEBUG Property update for OutputLevel : new value = 2
+AthenaPoolAddre...   INFO Initializing AthenaPoolAddressProviderSvc - package version EventSelectorAthenaPool-00-00-00
+ReadData            DEBUG Property update for OutputLevel : new value = 2
+ReadData             INFO in initialize()
+ReadData            DEBUG input handles: 0
+ReadData            DEBUG output handles: 0
+ReadData            DEBUG Data Deps for ReadData
+HistogramPersis...WARNING Histograms saving not required.
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+EventSelector       DEBUG Try item: "SimplePoolFromRaw.root" from the collection list.
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
+Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO                           SimplePoolFromRaw.root
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Shapes
+##Shapes            DEBUG Opening
+##Shapes            DEBUG    attributes# = 1
+##Shapes            DEBUG Opened container ##Shapes of type ROOT_Tree
+SimplePoolFromR...  DEBUG --->Reading Shape[0 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[1 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[2 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[3 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1
+SimplePoolFromR...  DEBUG --->Reading Shape[4 , ????]: [1 Column(s)]
+SimplePoolFromR...  DEBUG ---->[0]:ByteStreamMetadataContainer_p1 Typ:ByteStreamMetadataContainer_p1 [21] Size:0 Offset:0 #Elements:1
+##Shapes            DEBUG No objects passing selection criteria... Container has 5 Entries in total.
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Links
+##Links             DEBUG Opening
+##Links             DEBUG    attributes# = 1
+##Links             DEBUG Opened container ##Links of type ROOT_Tree
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/##Params [200]  (2 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/ByteStreamEventInfo) [202]  (3 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202]  (4 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202]  (5 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/POOLContainer(basic/DataHeader) [202]  (6 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202]  (7 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaData(ByteStreamMetadataContainer_p1/ByteStreamMetadata) [202]  (8 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202]  (9 , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+SimplePoolFromR...  DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202]  (a , ffffffff)
+SimplePoolFromR...  DEBUG ---->ClassID:????
+##Links             DEBUG No objects passing selection criteria... Container has 9 Entries in total.
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_All] ##Params
+##Params            DEBUG Opening
+##Params            DEBUG    attributes# = 1
+##Params            DEBUG Opened container ##Params of type ROOT_Tree
+SimplePoolFromR...  DEBUG --->Reading Param:FID=[????]
+SimplePoolFromR...  DEBUG --->Reading Param:PFN=[SimplePoolFromRaw.root]
+SimplePoolFromR...  DEBUG --->Reading Param:POOL_VSN=[1.1]
+SimplePoolFromR...  DEBUG --->Reading Param:FORMAT_VSN=[1.1]
+##Params            DEBUG No objects passing selection criteria... Container has 4 Entries in total.
+MetaDataSvc         DEBUG handle() BeginTagFile for SimplePoolFromRaw.root
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainer(DataHeader)
+POOLContainer(D...  DEBUG Opening
+POOLContainer(D...  DEBUG    attributes# = 1
+POOLContainer(D...  DEBUG Branch container 'DataHeader'
+POOLContainer(D...  DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree
+ApplicationMgr       INFO Application Manager Started successfully
+MetaDataSvc         DEBUG handle() BeginInputFile for SimplePoolFromRaw.root
+MetaDataSvc         DEBUG initInputMetaDataStore: file name SimplePoolFromRaw.root
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaDataHdr(DataHeader)
+MetaDataHdr(Dat...  DEBUG Opening
+MetaDataHdr(Dat...  DEBUG    attributes# = 1
+MetaDataHdr(Dat...  DEBUG Branch container 'DataHeader'
+MetaDataHdr(Dat...  DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree
+MetaDataSvc         DEBUG Loaded input meta data store proxies
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG  calling beginInputFile for ToolSvc.ByteStreamMetadataTool
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(ByteStreamMetadataContainer_p1/ByteStreamMetadata)
+MetaData(ByteSt...  DEBUG Opening
+MetaData(ByteSt...  DEBUG    attributes# = 1
+MetaData(ByteSt...  DEBUG Branch container 'ByteStreamMetadataContainer_p1_ByteStreamMetadata'
+MetaData(ByteSt...  DEBUG Opened container MetaData(ByteStreamMetadataContainer_p1/ByteStreamMetadata) of type ROOT_Tree
+ClassIDSvc           INFO  getRegistryEntries: read 3710 CLIDRegistry entries for module ALL
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] POOLContainerForm(DataHeaderForm)
+POOLContainerFo...  DEBUG Opening
+POOLContainerFo...  DEBUG    attributes# = 1
+POOLContainerFo...  DEBUG Branch container 'DataHeaderForm'
+POOLContainerFo...  DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = ByteStreamEventInfo
+AlgResourcePool      INFO TopAlg list empty. Recovering the one of Application Manager
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] CollectionTree(EventInfo_p4/ByteStreamEventInfo)
+CollectionTree(...  DEBUG Opening
+CollectionTree(...  DEBUG    attributes# = 1
+CollectionTree(...  DEBUG Branch container 'EventInfo_p4_ByteStreamEventInfo'
+CollectionTree(...  DEBUG Opened container CollectionTree(EventInfo_p4/ByteStreamEventInfo) of type ROOT_Tree
+AthenaPoolConve...   INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector 
+ClassIDSvc           INFO  getRegistryEntries: read 11 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO   ===>>>  start of run 20720    <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14350, run #20720 0 events processed so far  <<<===
+ReadBs               INFO ByteStreamMetadataContainer, size =  1
+ReadData            DEBUG in execute()
+SimplePoolFromR...  DEBUG --> Access   DbContainer  READ      [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1)
+MetaData(EventS...  DEBUG Opening
+MetaData(EventS...  DEBUG    attributes# = 1
+MetaData(EventS...  DEBUG Branch container 'EventStreamInfo_p3_Stream1'
+MetaData(EventS...  DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree
+ReadData             INFO EventStreamInfo: Number of events = 3
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = ByteStreamEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is data , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14350 run: 20720
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14350, run #20720 1 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = ByteStreamEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14356, run #20720 1 events processed so far  <<<===
+ReadBs               INFO ByteStreamMetadataContainer, size =  1
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 3
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = ByteStreamEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is data , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14356 run: 20720
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14356, run #20720 2 events processed so far  <<<===
+EventSelector       DEBUG Get AttributeList from the collection
+EventSelector       DEBUG AttributeList size 0
+EventSelector       DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002].
+EventSelector       DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]
+AthenaPoolAddre...  DEBUG The current Event contains: 2 objects
+AthenaPoolAddre...  DEBUG loadAddresses: DataObject address, clid = 2101, name = ByteStreamEventInfo
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #14382, run #20720 2 events processed so far  <<<===
+ReadBs               INFO ByteStreamMetadataContainer, size =  1
+ReadData            DEBUG in execute()
+ReadData             INFO EventStreamInfo: Number of events = 3
+ReadData             INFO EventStreamInfo: ItemList:
+ReadData             INFO CLID = 2101, key = ByteStreamEventInfo
+ReadData             INFO CLID = 222376821, key = StreamX
+ReadData             INFO EventType: Event type: sim/data -  is data , testbeam/atlas -  is atlas , calib/physics -  is physics 
+ReadData             INFO TagInfo: 
+ReadData             INFO EventInfo event: 14382 run: 20720
+ReadData             INFO Get Smart data ptr 1
+ReadData             INFO Could not find ExampleTrackContainer/MyTracks
+ReadData             INFO Could not find ExampleHitContainer/MyHits
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #14382, run #20720 3 events processed so far  <<<===
+Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] ????
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+MetaDataSvc         DEBUG handle() EndInputFile for FID:????
+MetaDataSvc         DEBUG handle() EndTagFile for SimplePoolFromRaw.root
+MetaDataSvc         DEBUG handle() LastInputFile for end
+AthenaEventLoopMgr   INFO No more events in event selection 
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.IOVDbMetaDataTool
+MetaDataSvc         DEBUG  calling metaDataStop for ToolSvc.ByteStreamMetadataTool
+MetaDataSvc         DEBUG Releasing MetaDataTools
+ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
+ReadBs               INFO in finalize()
+ReadData             INFO in finalize()
+IncidentProcAlg2     INFO Finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+ToolSvc.ByteStr...   INFO in finalize()
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+cObjR_ALL            INFO Time User   : Tot=   20 [ms] Ave/Min/Max= 1.67(+- 3.73)/    0/   10 [ms] #= 12
+cObj_ALL             INFO Time User   : Tot=   40 [ms] Ave/Min/Max=    4(+- 6.63)/    0/   20 [ms] #= 10
+ChronoStatSvc        INFO Time User   : Tot= 1.05  [s]                                             #=  1
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Athena               INFO leaving with code 0: "successful run"
diff --git a/Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.cxx b/Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.cxx
new file mode 100755
index 00000000000..0cf9dd52a4a
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.cxx
@@ -0,0 +1,117 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file BookkeeperDumper.cxx
+ * @brief Implementation of class BookkeeperDumper
+ */
+ 
+#include "BookkeeperDumper.h"
+
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/AlgFactory.h"
+
+#include "PersistentDataModel/Token.h"
+#include "PersistentDataModel/DataHeader.h"
+#include "GaudiKernel/IIncidentSvc.h"
+#include "GaudiKernel/FileIncident.h"
+
+#include "StoreGate/StoreGateSvc.h"
+#include "AthenaKernel/IClassIDSvc.h"
+
+#include "xAODCutFlow/CutBookkeeperContainer.h"
+
+
+//___________________________________________________________________________
+BookkeeperDumper::BookkeeperDumper(const std::string& name, ISvcLocator* pSvcLocator) : 
+   AthAlgorithm(name, pSvcLocator) 
+{
+}
+
+BookkeeperDumper::~BookkeeperDumper()
+{}
+
+StatusCode BookkeeperDumper::initialize() 
+{
+   // clear containers
+   ATH_MSG_INFO ( "in initialize()" );
+
+   ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name());
+   ATH_CHECK( incSvc.retrieve() );
+   incSvc->addListener(this, "BeginInputFile", 100); 
+
+   return StatusCode::SUCCESS;
+}
+
+void BookkeeperDumper::handle(const Incident& inc)
+{
+  
+  ATH_MSG_INFO("handle() " << inc.type());
+
+  // Need to get input file name for event comparison
+  if (inc.type()=="BeginInputFile") {
+    ServiceHandle<StoreGateSvc> mdstore("StoreGateSvc/InputMetaDataStore", name());
+    if (mdstore.retrieve().isSuccess()) {
+      //
+      const DataHandle<xAOD::CutBookkeeperContainer> compBook(nullptr);
+      if (mdstore->retrieve(compBook, "CutBookkeepers").isSuccess()) 
+      {
+        ATH_MSG_INFO("CBK size = " << compBook->size());
+        for (auto it = compBook->begin(); it != compBook->end(); ++it) {
+          ATH_MSG_INFO("CBK name= " << (*it)->name() << " cycle=" << (*it)->cycle() << " stream=" << (*it)->inputStream() << " N=" << (*it)->nAcceptedEvents() << " W=" << (*it)->sumOfEventWeights() << " nc=" << (*it)->nChildren());
+        }
+      } else {
+        ATH_MSG_INFO("CBK No CutBookkeepers " << mdstore->dump());
+      }
+      //
+      const DataHandle<xAOD::CutBookkeeperContainer> incompBook(nullptr);
+      if (mdstore->retrieve(incompBook, "IncompleteCutBookkeepers").isSuccess()) 
+      {
+        ATH_MSG_INFO("ICBK size = " << incompBook->size());
+        for (auto it = incompBook->begin(); it != incompBook->end(); ++it) {
+          ATH_MSG_INFO("ICBK name= " << (*it)->name() << " cycle=" << (*it)->cycle() << " stream=" << (*it)->inputStream() << " N=" << (*it)->nAcceptedEvents() << " W=" << (*it)->sumOfEventWeights() << " nc=" << (*it)->nChildren());
+        }
+      } else {
+        ATH_MSG_INFO("ICBK No CutBookkeepers " << mdstore->dump());
+      }
+      //
+      const DataHandle<xAOD::CutBookkeeperContainer> pcompBook(nullptr);
+      if (mdstore->retrieve(pcompBook, "PDFSumOfWeights").isSuccess()) 
+      {
+        ATH_MSG_INFO("PCBK size = " << pcompBook->size());
+        for (auto it = pcompBook->begin(); it != pcompBook->end(); ++it) {
+          ATH_MSG_INFO("PCBK name= " << (*it)->name() << " cycle=" << (*it)->cycle() << " stream=" << (*it)->inputStream() << " N=" << (*it)->nAcceptedEvents() << " W=" << (*it)->sumOfEventWeights() << " nc=" << (*it)->nChildren());
+        }
+      } else {
+        ATH_MSG_INFO("PCBK No CutBookkeepers " << mdstore->dump());
+      }
+      //
+      const DataHandle<xAOD::CutBookkeeperContainer> ipcompBook(nullptr);
+      if (mdstore->retrieve(ipcompBook, "IncompletePDFSumOfWeights").isSuccess()) 
+      {
+        ATH_MSG_INFO("IPCBK size = " << ipcompBook->size());
+        for (auto it = ipcompBook->begin(); it != ipcompBook->end(); ++it) {
+          ATH_MSG_INFO("IPCBK name= " << (*it)->name() << " cycle=" << (*it)->cycle() << " stream=" << (*it)->inputStream() << " N=" << (*it)->nAcceptedEvents() << " W=" << (*it)->sumOfEventWeights() << " nc=" << (*it)->nChildren());
+        }
+      } else {
+        ATH_MSG_INFO("IPCBK No CutBookkeepers " << mdstore->dump());
+      }
+      //
+    }
+  }
+}
+
+StatusCode BookkeeperDumper::execute() 
+{
+   ATH_MSG_DEBUG ( "in execute()" );
+
+   return(StatusCode::SUCCESS);
+}
+
+StatusCode BookkeeperDumper::finalize() 
+{
+   ATH_MSG_DEBUG ( "in m_finalize()" );
+   
+   return(StatusCode::SUCCESS);
+}
diff --git a/Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.h b/Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.h
new file mode 100755
index 00000000000..bb17cdeac22
--- /dev/null
+++ b/Database/AthenaPOOL/AthenaPoolTools/src/BookkeeperDumper.h
@@ -0,0 +1,43 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// BookkeeperDumper.h
+
+#ifndef ATHENAPOOLTOOLS_BOOKKEEPERDUMPER_H
+#define ATHENAPOOLTOOLS_BOOKKEEPERDUMPER_H
+/**
+ * @file BookkeeperDumper.h
+ * @brief class definition for BookkeeperDumper
+ */
+ 
+/**
+ * @class BookkeeperDumper
+ * @author Jack Cranshaw (Jack.Cranshaw@cern.ch)
+ * Created October 2017
+ */
+             
+                                                                                
+#include <string>
+#include <vector>
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+class IClassIDSvc;
+
+class BookkeeperDumper : public AthAlgorithm, virtual public IIncidentListener {
+public:
+	  
+  BookkeeperDumper(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~BookkeeperDumper();
+  
+  StatusCode initialize(); /// Algorithm interface. Cannot re-initialize with this
+  StatusCode execute();    /// Algorithm interface.
+  StatusCode finalize();   /// Algorithm interface.
+
+  void handle(const Incident& inc);
+  
+private:
+};
+#endif
diff --git a/Database/IOVDbSvc/python/IOVDbConfigFlags.py b/Database/IOVDbSvc/python/IOVDbConfigFlags.py
new file mode 100644
index 00000000000..e2784d83dd7
--- /dev/null
+++ b/Database/IOVDbSvc/python/IOVDbConfigFlags.py
@@ -0,0 +1,24 @@
+from AthenaConfiguration.ConfigFlags import ConfigFlag,makeFlag
+from AthenaConfiguration.CfgLogMsg import cfgLogMsg
+
+class DatabaseInstance(ConfigFlag):
+    def getDefault(self,prevFlags):
+        isMC=prevFlags.get("AthenaConfiguration.GlobalConfigFlags.isMC")
+        if (isMC):
+            return "OFLP200"
+    
+        # real-data
+        projectName=prevFlags.get("AthenaConfiguration.GlobalConfigFlags.projectName")
+        try:
+            year=int(projectName[4:6]);
+        except:
+            cfgLogMsg.warning("Failed to extract year from project tag "+ projectName+". Guessing run2")
+            return "CONDBR2"
+        
+        if (year>13):
+            return "CONDBR2"
+        else:
+            return "COMP200" 
+    
+GlobalTag=makeFlag("GlobalTag","CONDBR2-BLKPA-2017-05")
+
diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
new file mode 100644
index 00000000000..45292d81c69
--- /dev/null
+++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
@@ -0,0 +1,163 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
+import os
+
+def IOVDbSvcCfg(inputFlags):
+
+    result=ComponentAccumulator()
+
+    from IOVDbSvc.IOVDbSvcConf import IOVDbSvc
+    from IOVSvc.IOVSvcConf import CondSvc
+    from IOVSvc.IOVSvcConf import CondInputLoader
+    from SGComps.SGCompsConf import ProxyProviderSvc
+
+    #Properties of IOVDbSvc to be set here:
+    #online-mode, DBInstance (slite)
+    
+    #Services it (sometimes) depends upon:
+    # m_h_IOVSvc     ("IOVSvc", name),
+    #m_h_sgSvc      ("StoreGateSvc", name),
+    #m_h_detStore   ("DetectorStore", name),
+    #m_h_metaDataStore ("StoreGateSvc/MetaDataStore", name), 
+    #m_h_persSvc    ("EventPersistencySvc", name),
+    #m_h_clidSvc    ("ClassIDSvc", name),
+    #m_h_poolSvc    ("PoolSvc", name),
+    #m_h_metaDataTool("IOVDbMetaDataTool"),
+    #m_h_tagInfoMgr("TagInfoMgr", name),
+
+    isMC=inputFlags.get("AthenaConfiguration.GlobalConfigFlags.isMC")
+
+    # Set up IOVDbSvc
+    iovDbSvc=IOVDbSvc()
+    dbname=inputFlags.get("IOVDbSvc.IOVDbConfigFlags.DatabaseInstance")
+
+    localfile="sqlite://;schema=mycool.db;dbname="
+    iovDbSvc.dbConnection=localfile+dbname
+    # setup knowledge of dbinstance in IOVDbSvc, for global tag x-check
+    iovDbSvc.DBInstance=dbname
+
+    if 'FRONTIER_SERVER' in os.environ.keys() and os.environ['FRONTIER_SERVER']!="":
+        iovDbSvc.CacheAlign=3
+
+
+    iovDbSvc.GlobalTag=inputFlags.get("IOVDbSvc.IOVDbConfigFlags.GlobalTag")
+
+    result.addService(iovDbSvc)
+
+
+    # Set up POOLSvc with appropriate catalogs
+    
+    from PoolSvc.PoolSvcConf import PoolSvc
+    poolSvc=PoolSvc()
+    poolSvc.ReadCatalog=["apcfile:poolcond/PoolFileCatalog.xml",
+                         "prfile:poolcond/PoolCat_oflcond.xml",
+                         "apcfile:poolcond/PoolCat_oflcond.xml",
+                         ]
+
+    if not isMC:
+         poolSvc.ReadCatalog+=["prfile:poolcond/PoolCat_comcond.xml",
+                               "apcfile:poolcond/PoolCat_comcond.xml",
+                               ]
+    result.addService(poolSvc)
+    result.addService(CondSvc())
+    result.addService(ProxyProviderSvc(ProviderNames=["IOVDbSvc",]))
+
+
+    from DBReplicaSvc.DBReplicaSvcConf import DBReplicaSvc
+    if not isMC:
+        result.addService(DBReplicaSvc(COOLSQLiteVetoPattern="/DBRelease/"))
+
+    
+    return result
+
+
+#Convenience method to add folders:
+
+def addFolders(inputFlags,folderstrings,detDb=None):
+
+    #result=IOVDbSvcCfg(inputFlags)
+    result=ComponentAccumulator()
+    result.executeModule(IOVDbSvcCfg,inputFlags)
+
+    
+    
+    iovDbSvc=result.getService("IOVDbSvc")
+    
+    if detDb is not None:
+        dbname=inputFlags.get("IOVDbSvc.IOVDbConfigFlags.DatabaseInstance")
+        if not detDb in _dblist.keys():
+            raise ConfigurationError("Error, db shorthand %s not known")
+        dbstr="<db>"+_dblist[detDb]+"/"+dbname+"</db>"
+    else:
+        dbstr=""
+    
+    #Convenince hack: Allow a single string as parameter:
+    if isinstance(folderstrings,str):
+        folderstrings=[folderstrings,]
+
+    
+    for fs in folderstrings:
+        if fs.find("<db>")==-1:
+            iovDbSvc.Folders.append(fs+dbstr)
+        else:
+            iovDbSvc.Folders.append(fs)
+
+
+    return result
+
+
+_dblist={
+    'INDET':'COOLONL_INDET',
+    'INDET_ONL':'COOLONL_INDET',
+    'PIXEL':'COOLONL_PIXEL',
+    'PIXEL_ONL':'COOLONL_PIXEL',
+    'SCT':'COOLONL_SCT',
+    'SCT_ONL':'COOLONL_SCT',
+    'TRT':'COOLONL_TRT',
+    'TRT_ONL':'COOLONL_TRT',
+    'LAR':'COOLONL_LAR',
+    'LAR_ONL':'COOLONL_LAR',
+    'TILE':'COOLONL_TILE',
+    'TILE_ONL':'COOLONL_TILE',
+    'MUON':'COOLONL_MUON',
+    'MUON_ONL':'COOLONL_MUON',
+    'MUONALIGN':'COOLONL_MUONALIGN',
+    'MUONALIGN_ONL':'COOLONL_MUONALIGN',
+    'MDT':'COOLONL_MDT',
+    'MDT_ONL':'COOLONL_MDT',
+    'RPC':'COOLONL_RPC',
+    'RPC_ONL':'COOLONL_RPC',
+    'TGC':'COOLONL_TGC',
+    'TGC_ONL':'COOLONL_TGC',
+    'CSC':'COOLONL_CSC',
+    'CSC_ONL':'COOLONL_CSC',
+    'TDAQ':'COOLONL_TDAQ',
+    'TDAQ_ONL':'COOLONL_TDAQ',
+    'GLOBAL':'COOLONL_GLOBAL',
+    'GLOBAL_ONL':'COOLONL_GLOBAL',
+    'TRIGGER':'COOLONL_TRIGGER',
+    'TRIGGER_ONL':'COOLONL_TRIGGER',
+    'CALO':'COOLONL_CALO',
+    'CALO_ONL':'COOLONL_CALO',
+    'FWD':'COOLONL_FWD',
+    'FWD_ONL':'COOLONL_FWD',            
+    'INDET_OFL':'COOLOFL_INDET',
+    'PIXEL_OFL':'COOLOFL_PIXEL',
+    'SCT_OFL':'COOLOFL_SCT',
+    'TRT_OFL':'COOLOFL_TRT',
+    'LAR_OFL':'COOLOFL_LAR',
+    'TILE_OFL':'COOLOFL_TILE',
+    'MUON_OFL':'COOLOFL_MUON',
+    'MUONALIGN_OFL':'COOLOFL_MUONALIGN',
+    'MDT_OFL':'COOLOFL_MDT',
+    'RPC_OFL':'COOLOFL_RPC',
+    'TGC_OFL':'COOLOFL_TGC',
+    'CSC_OFL':'COOLOFL_CSC',
+    'TDAQ_OFL':'COOLOFL_TDAQ',
+    'DCS_OFL':'COOLOFL_DCS',
+    'GLOBAL_OFL':'COOLOFL_GLOBAL',
+    'TRIGGER_OFL':'COOLOFL_TRIGGER',
+    'CALO_OFL':'COOLOFL_CALO',
+    'FWD_OFL':'COOLOFL_FWD'
+    }
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelFlags.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelFlags.py
new file mode 100644
index 00000000000..aee79e37980
--- /dev/null
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelFlags.py
@@ -0,0 +1,4 @@
+from AthenaConfiguration.ConfigFlags import ConfigFlag,makeFlag
+
+AtlasVersion=makeFlag("AtlasVersion","ATLAS-R2-2016-01-00-01")
+
diff --git a/Event/xAOD/xAODTruthCnv/Root/TruthMetaDataTool.cxx b/Event/xAOD/xAODTruthCnv/Root/TruthMetaDataTool.cxx
new file mode 100644
index 00000000000..8962b38d1d7
--- /dev/null
+++ b/Event/xAOD/xAODTruthCnv/Root/TruthMetaDataTool.cxx
@@ -0,0 +1,113 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Local include(s):
+#include "xAODTruthCnv/TruthMetaDataTool.h"
+
+namespace xAODMaker {
+
+   // Helper typedef:
+   typedef xAOD::TruthMetaDataContainer Cont_t;
+
+   TruthMetaDataTool::TruthMetaDataTool( const std::string& name )
+      : asg::AsgMetadataTool( name ),
+        m_truthMeta(), m_truthMetaAux() {
+
+      declareProperty( "InputKey", m_inputKey = "TruthMetaData" );
+      declareProperty( "OutputKey", m_outputKey = "TruthMetaData" );
+
+#ifdef ASGTOOL_ATHENA
+      declareInterface< ::IMetaDataTool >( this );
+#endif // ASGTOOL_ATHENA
+   }
+
+   StatusCode TruthMetaDataTool::initialize() {
+
+      // Greet the user:
+      ATH_MSG_DEBUG( "Initialising TruthMetaDataTool" );
+      ATH_MSG_DEBUG( "  InputKey  = " << m_inputKey );
+      ATH_MSG_DEBUG( "  OutputKey = " << m_outputKey );
+
+      // Reset the internal variable(s):
+      m_truthMeta.reset(); m_truthMetaAux.reset();
+
+      // Retrun gracefully:
+      return StatusCode::SUCCESS;
+   }
+
+   StatusCode TruthMetaDataTool::beginInputFile() {
+
+      // If the input file doesn't have any trigger configuration metadata,
+      // then finish right away:
+      if( ! inputMetaStore()->contains< Cont_t >( m_inputKey ) ) {
+         return StatusCode::SUCCESS;
+      }
+
+      // Retrieve the input container:
+      const Cont_t* input = 0;
+      ATH_CHECK( inputMetaStore()->retrieve( input, m_inputKey ) );
+
+      // Create an output container if it doesn't exist yet:
+      if( ( ! m_truthMeta.get() ) && ( ! m_truthMetaAux.get() ) ) {
+         ATH_MSG_DEBUG( "Creating output container" );
+         m_truthMeta.reset( new xAOD::TruthMetaDataContainer() );
+         m_truthMetaAux.reset( new xAOD::TruthMetaDataAuxContainer() );
+         m_truthMeta->setStore( m_truthMetaAux.get() );
+      }
+
+      // Loop over the configurations of the input file:
+      for( const xAOD::TruthMetaData* meta : *input ) {
+
+         // Check if this configuration is already in the output container:
+         bool exists = false;
+         for( const xAOD::TruthMetaData* existing : *m_truthMeta ) {
+            if( existing->mcChannelNumber() == meta->mcChannelNumber() ){
+               exists = true;
+               break;
+            }
+         }
+         if( exists ) {
+            continue;
+         }
+
+         // If it's a new configuration, put it into the output container:
+         ATH_MSG_VERBOSE( "Copying configuration with ChannelID: "
+                          << meta->mcChannelNumber() );
+         xAOD::TruthMetaData* out = new xAOD::TruthMetaData();
+         m_truthMeta->push_back( out );
+         *out = *meta;
+      }
+
+      // Return gracefully:
+      return StatusCode::SUCCESS;
+   }
+
+   StatusCode TruthMetaDataTool::endInputFile() {
+      return StatusCode::SUCCESS;
+   }
+
+   StatusCode TruthMetaDataTool::metaDataStop() {
+
+      // The output may already have trigger configuration metadata in it.
+      // For instance from TrigConf::xAODMenuWriter. In this case let that
+      // object take precedence.
+      if( outputMetaStore()->contains< Cont_t >( m_outputKey ) ) {
+         ATH_MSG_DEBUG( "xAOD::TruthMetaDataContainer already in the output" );
+         return StatusCode::SUCCESS;
+      }
+
+      // Record the truth metadata, if any was found in the processed input files.
+      if( m_truthMeta.get() && m_truthMetaAux.get() ) {
+         ATH_MSG_DEBUG( "Recording truth metadata" );
+         ATH_CHECK( outputMetaStore()->record( m_truthMeta.release(),
+                                               m_outputKey ) );
+         ATH_CHECK( outputMetaStore()->record( m_truthMetaAux.release(),
+                                               m_outputKey + "Aux." ) );
+      }
+
+      // Retrun gracefully:
+      return StatusCode::SUCCESS;
+   }
+
+} // namespace xAODMaker
diff --git a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h
new file mode 100644
index 00000000000..8871529c020
--- /dev/null
+++ b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h
@@ -0,0 +1,86 @@
+// Dear emacs, this is -*- c++ -*-
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef XAODTRUTHCNV_TRUTHMETADATATOOL_H
+#define XAODTRUTHCNV_TRUTHMETADATATOOL_H
+
+// System include(s):
+#include <string>
+#include <memory>
+
+// Gaudi/Athena include(s):
+#include "AsgTools/AsgMetadataTool.h"
+#ifdef ASGTOOL_ATHENA
+#   include "AthenaPoolKernel/IMetaDataTool.h"
+#endif // ASGTOOL_ATHENA
+
+// EDM include(s):
+#include "xAODTruth/TruthMetaDataContainer.h"
+#include "xAODTruth/TruthMetaDataAuxContainer.h"
+
+namespace xAODMaker {
+
+   /// Tool taking care of copying the truth metadata from file to file
+   ///
+   /// This tool does the heavy lifting when creating/merging DxAOD files to
+   /// make sure that the truth metadata ends up in the output.
+   ///
+   class TruthMetaDataTool : public asg::AsgMetadataTool
+#ifdef ASGTOOL_ATHENA
+                           , public virtual ::IMetaDataTool
+#endif // ASGTOOL_ATHENA
+   {
+
+      /// Declare the correct constructor for Athena
+      ASG_TOOL_CLASS0( TruthMetaDataTool )
+
+   public:
+      /// Regular AlgTool constructor
+      TruthMetaDataTool( const std::string& name = "TruthMetaDataTool" );
+
+      /// Function initialising the tool
+      virtual StatusCode initialize();
+
+   protected:
+      /// @name Functions called by the AsgMetadataTool base class
+      /// @{
+
+      /// Function collecting the configuration metadata from the input
+      /// file
+      virtual StatusCode beginInputFile();
+
+      virtual StatusCode endInputFile();
+
+      /// Function writing out the collected metadata
+      virtual StatusCode metaDataStop();
+
+      /// @}
+
+   private:
+      /// @name Tool properties
+      /// @{
+
+      /// The key of the truth metadata in the input file
+      std::string m_inputKey;
+      /// The key of the truth metadata for the output file
+      std::string m_outputKey;
+
+      /// @}
+
+      /// @name Objects accummulating the merged metadata
+      /// @{
+
+      /// The merged trigger menu container
+      std::unique_ptr< xAOD::TruthMetaDataContainer > m_truthMeta;
+      /// The merged trigger menu auxiliary container
+      std::unique_ptr< xAOD::TruthMetaDataAuxContainer > m_truthMetaAux;
+
+      /// @}
+
+   }; // class TruthMetaDataTool
+
+} // namespace xAODMaker
+
+#endif // XAODTRUTHCNV_TRUTHMETADATATOOL_H
diff --git a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/selection.xml b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/selection.xml
new file mode 100644
index 00000000000..a56d7b32960
--- /dev/null
+++ b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/selection.xml
@@ -0,0 +1,5 @@
+<lcgdict>
+
+  <class name="xAODMaker::TruthMetaDataTool" />
+
+</lcgdict>
diff --git a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/xAODTruthCnvDict.h b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/xAODTruthCnvDict.h
new file mode 100644
index 00000000000..b0021f1e8e5
--- /dev/null
+++ b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/xAODTruthCnvDict.h
@@ -0,0 +1,11 @@
+// Dear emacs, this is -*- c++ -*-
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#ifndef XAODTRUTHCNV_XAODTRUTHCNVDICT_H
+#define XAODTRUTHCNV_XAODTRUTHCNVDICT_H
+
+// Local include(s):
+#include "xAODTruthCnv/TruthMetaDataTool.h"
+
+#endif // XAODTRUTHCNV_XAODTRUTHCNVDICT_H
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_ModuleVetoCondData.h b/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_ModuleVetoCondData.h
new file mode 100644
index 00000000000..e6081013ad4
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_ModuleVetoCondData.h
@@ -0,0 +1,47 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * SCT_ModuleVetoCondData.h
+ * @file header file for data object
+ * @author Susumu Oda - 04/12/17
+ **/
+
+#ifndef SCT_MODULEVETOCONDDATA_H
+#define SCT_MODULEVETOCONDDATA_H
+
+#include "Identifier/Identifier.h"
+#include <set>
+
+class SCT_ModuleVetoCondData {
+public:
+  /// constructor
+  SCT_ModuleVetoCondData();
+  /// destructor
+  virtual ~SCT_ModuleVetoCondData();
+  /// set a bad wafer ID
+  bool setBadWaferId(const Identifier waferId);
+  /// check if a wafer ID is bad or not
+  bool isBadWaferId(const Identifier waferId) const; 
+  /// clear
+  void clear();
+  /// set data filled
+  void setFilled();
+  /// check the data are filled or not
+  bool filled() const;
+  /// get the number of bad wafers
+  long unsigned int size() const;
+  
+private:
+  std::set<Identifier> m_badWaferId;
+  bool m_isFilled;
+};
+
+#include "AthenaKernel/CLASS_DEF.h"
+CLASS_DEF( SCT_ModuleVetoCondData , 100510855 , 1 )
+
+#include "AthenaKernel/CondCont.h"
+CONDCONT_DEF( SCT_ModuleVetoCondData, 46782241 );
+
+#endif // SCT_MODULEVETOCONDDATA_H
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorCondData.h b/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorCondData.h
new file mode 100644
index 00000000000..ed5989b03cf
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorCondData.h
@@ -0,0 +1,58 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file SCT_SensorCondData.h
+ * header file for data object for SCT_SensorsSvc
+ * @author Susumu Oda - 2017-12-04
+ **/
+
+#ifndef SCT_SENSORCONDDATA_H
+#define SCT_SENSORCONDDATA_H
+
+#include <string>
+
+// Include Athena stuff
+#include "AthenaKernel/CLASS_DEF.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+
+class SCT_SensorCondData {
+public:
+  // Constructor
+  SCT_SensorCondData();
+  // Destructor
+  virtual ~SCT_SensorCondData();
+
+  // Set truncated serial number
+  bool setTruncatedSerialNumber(const CondAttrListCollection::ChanNum truncatedSerialNumber);
+  // Get truncated serial number
+  CondAttrListCollection::ChanNum getTruncatedSerialNumber() const;
+
+  // Set manufacturer
+  bool setManufacturer(const std::string& manufacturer);
+  // Get manufacturer
+  std::string getManufacturer() const;
+
+  // Set depletion voltage
+  bool setDepletionVoltage(const unsigned int sensor, const float depletionVoltage);
+  // Get depletion voltage
+  float getDepletionVoltage(const unsigned int sensor) const;
+
+  // Set depletion voltage
+  bool setCrystalOrientation(const unsigned int sensor, const int crystalOrientation);
+  // Get depletion voltage
+  int getCrystalOrientation(const unsigned int sensor) const;
+
+  enum {OFFSET=1, SENSOR1=1, SENSOR2=2, SENSOR3=3, SENSOR4=4, NUM_SENSORS=4};
+
+private:
+  CondAttrListCollection::ChanNum m_truncatedSerialNumber;
+  std::string m_manufacturer;
+  float m_depletionVoltage[NUM_SENSORS];
+  int m_crystalOrientation[NUM_SENSORS];
+};
+
+CLASS_DEF( SCT_SensorCondData , 144247573 , 1 )
+
+#endif // SCT_SENSORDATA_H
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorsCondData.h b/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorsCondData.h
new file mode 100644
index 00000000000..ff6539b9a91
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsData/SCT_ConditionsData/SCT_SensorsCondData.h
@@ -0,0 +1,30 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file SCT_SensorsCondData.h
+ * header file for data object for SCT_SensorsSvc
+ * @author Susumu Oda - 2017-12-04
+ **/
+
+#ifndef SCT_SENSORSCONDDATA_H
+#define SCT_SENSORSCONDDATA_H
+
+#include "SCT_ConditionsData/SCT_SensorCondData.h"
+
+// Definition of the number of elements
+#include "SCT_ConditionsServices/SCT_ConditionsParameters.h"
+
+#include <map>
+
+typedef std::map<CondAttrListCollection::ChanNum, SCT_SensorCondData> SCT_SensorsCondData;
+
+// Class definition
+#include "AthenaKernel/CLASS_DEF.h"
+CLASS_DEF( SCT_SensorsCondData , 198841041 , 1 )
+
+#include "AthenaKernel/CondCont.h"
+CONDCONT_DEF( SCT_SensorsCondData, 137294721 );
+
+#endif // SCT_SENSORSCONDDATA_H
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ModuleVetoCondData.cxx b/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ModuleVetoCondData.cxx
new file mode 100644
index 00000000000..112eddb9ab9
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ModuleVetoCondData.cxx
@@ -0,0 +1,56 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SCT_ConditionsData/SCT_ModuleVetoCondData.h"
+
+//////////////////////////////////
+// constructor
+SCT_ModuleVetoCondData::SCT_ModuleVetoCondData():
+  m_badWaferId{},
+  m_isFilled{false}
+{
+}
+
+//////////////////////////////////
+// destructor
+SCT_ModuleVetoCondData::~SCT_ModuleVetoCondData() {
+}
+
+//////////////////////////////////
+// set a bad wafer ID
+bool SCT_ModuleVetoCondData::setBadWaferId(const Identifier waferId) {
+  return m_badWaferId.insert(waferId).second;
+}
+
+//////////////////////////////////
+// check if a wafer ID is bad or not
+bool SCT_ModuleVetoCondData::isBadWaferId(const Identifier waferId) const {
+  std::set<Identifier>::const_iterator it{m_badWaferId.find(waferId)};
+  return (it!=m_badWaferId.end());
+}
+
+//////////////////////////////////
+// clear
+void SCT_ModuleVetoCondData::clear() {
+  m_badWaferId.clear();
+  m_isFilled = false;
+}
+
+//////////////////////////////////
+// set data filled
+void SCT_ModuleVetoCondData::setFilled() {
+  m_isFilled = true;
+}
+
+//////////////////////////////////
+// check the data are filled or not
+bool SCT_ModuleVetoCondData::filled() const {
+  return m_isFilled;
+}
+
+//////////////////////////////////
+// get the number of bad wafers
+long unsigned int SCT_ModuleVetoCondData::size() const {
+  return m_badWaferId.size();
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_SensorCondData.cxx b/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_SensorCondData.cxx
new file mode 100644
index 00000000000..d2686ec4966
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_SensorCondData.cxx
@@ -0,0 +1,133 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+//----------------------------------------------------------------------
+// Implementation file for the data object class for SCT_SensorsConditionsSvc
+//----------------------------------------------------------------------
+
+#include "SCT_ConditionsData/SCT_SensorCondData.h"
+
+//----------------------------------------------------------------------
+// Constructor
+SCT_SensorCondData::SCT_SensorCondData():
+  m_truncatedSerialNumber{0},
+  m_manufacturer{""},
+  m_depletionVoltage{0., 0., 0., 0.},
+  m_crystalOrientation{0, 0, 0, 0}
+{}
+
+//----------------------------------------------------------------------
+// Destructor
+SCT_SensorCondData::~SCT_SensorCondData()
+{}
+
+//----------------------------------------------------------------------
+// Set truncated serial number
+bool SCT_SensorCondData::setTruncatedSerialNumber(const CondAttrListCollection::ChanNum truncatedSerialNumber)
+{
+  m_truncatedSerialNumber = truncatedSerialNumber;
+  return true;
+}
+
+//----------------------------------------------------------------------
+// Get truncated serial number
+CondAttrListCollection::ChanNum SCT_SensorCondData::getTruncatedSerialNumber() const
+{
+  return m_truncatedSerialNumber;
+}
+
+//----------------------------------------------------------------------
+// Set manufacturer
+bool SCT_SensorCondData::setManufacturer(const std::string& manufacturer)
+{
+  m_manufacturer = manufacturer;
+  return true;
+}
+
+//----------------------------------------------------------------------
+// Get manufacturer
+std::string SCT_SensorCondData::getManufacturer() const
+{
+  return m_manufacturer;
+}
+
+//----------------------------------------------------------------------
+// Set depletion voltage
+bool SCT_SensorCondData::setDepletionVoltage(const unsigned int sensor, const float depletionVoltage)
+{
+  switch (sensor) {
+  case SENSOR1:
+    m_depletionVoltage[SENSOR1-OFFSET] = depletionVoltage;
+    return true;
+  case SENSOR2:
+    m_depletionVoltage[SENSOR2-OFFSET] = depletionVoltage;
+    return true;
+  case SENSOR3:
+    m_depletionVoltage[SENSOR3-OFFSET] = depletionVoltage;
+    return true;
+  case SENSOR4:
+    m_depletionVoltage[SENSOR4-OFFSET] = depletionVoltage;
+    return true;
+  default:
+    return false;
+  }
+}
+
+//----------------------------------------------------------------------
+// Get depletion voltage
+float SCT_SensorCondData::getDepletionVoltage(const unsigned int sensor) const
+{
+  switch (sensor) {
+  case SENSOR1:
+    return m_depletionVoltage[SENSOR1-OFFSET];
+  case SENSOR2:
+    return m_depletionVoltage[SENSOR2-OFFSET];
+  case SENSOR3:
+    return m_depletionVoltage[SENSOR3-OFFSET];
+  case SENSOR4:
+    return m_depletionVoltage[SENSOR4-OFFSET];
+  default:
+    return -999.;
+  }
+}
+
+//----------------------------------------------------------------------
+// Set crystal Orientation
+bool SCT_SensorCondData::setCrystalOrientation(const unsigned int sensor, const int crystalOrientation)
+{
+  switch (sensor) {
+  case SENSOR1:
+    m_crystalOrientation[SENSOR1-OFFSET] = crystalOrientation;
+    return true;
+  case SENSOR2:
+    m_crystalOrientation[SENSOR2-OFFSET] = crystalOrientation;
+    return true;
+  case SENSOR3:
+    m_crystalOrientation[SENSOR3-OFFSET] = crystalOrientation;
+    return true;
+  case SENSOR4:
+    m_crystalOrientation[SENSOR4-OFFSET] = crystalOrientation;
+    return true;
+  default:
+    return false;
+  }
+}
+
+//----------------------------------------------------------------------
+// Get crystal Orientation
+int SCT_SensorCondData::getCrystalOrientation(const unsigned int sensor) const
+{
+  switch (sensor) {
+  case SENSOR1:
+    return m_crystalOrientation[SENSOR1-OFFSET];
+  case SENSOR2:
+    return m_crystalOrientation[SENSOR2-OFFSET];
+  case SENSOR3:
+    return m_crystalOrientation[SENSOR3-OFFSET];
+  case SENSOR4:
+    return m_crystalOrientation[SENSOR4-OFFSET];
+  default:
+    return -999;
+  }
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/python/createLinkMaskingSQLiteFile.py b/InnerDetector/InDetConditions/SCT_ConditionsServices/python/createLinkMaskingSQLiteFile.py
new file mode 100644
index 00000000000..3f5e16859b7
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/python/createLinkMaskingSQLiteFile.py
@@ -0,0 +1,71 @@
+#!/bin/env python
+
+# Taken from InnerDetector/InDetRecTools/TRT_ElectronPidTools/DatabaseTools/WritePyCoolAll.py
+# https://twiki.cern.ch/twiki/bin/view/Atlas/ConditionsSimpleExample
+# Usage: python createLinkMaskingSQLiteFile.py
+
+import sys
+from PyCool import cool
+
+def main():
+    dbFile = "LinkMasking.db"
+    dbName = "CONDBR2" 
+    folderName ="/purple/pants"
+    
+    fieldNames = ["lastProbedState"]
+    fieldTypes = [cool.StorageType.Bool]
+
+    # remove the old db file so that we can write the new one
+    try:
+        import os
+        os.remove(dbFile)
+    except:
+        pass
+
+    # get database service and open database
+    dbSvc = cool.DatabaseSvcFactory.databaseService()
+
+    # database accessed via physical name
+    dbString = "sqlite://;schema=%s;dbname=%s" % (dbFile, dbName)
+    try:
+        db = dbSvc.createDatabase(dbString)
+    except Exception, e:
+        print 'Problem creating database', e
+        sys.exit(-1)
+    print "Created database", dbString
+    
+    # setup folder 
+    spec = cool.RecordSpecification()
+    spec.extend(fieldNames[0], fieldTypes[0])
+
+    # folder meta-data - note for Athena this has a special meaning
+    desc = '<timeStamp>run-lumi</timeStamp><addrHeader><address_header service_type="71" clid="1238547719" /></addrHeader><typeName>CondAttrListCollection</typeName>'
+    
+    # create the folder - single version
+    # last argument is createParents - if true, automatically creates parent folders if needed
+    # note this will not work if the database already exists - delete mycool.db first
+    folderSpec = cool.FolderSpecification(cool.FolderVersioning.SINGLE_VERSION, spec)
+    folder = db.createFolder(folderName, folderSpec, desc, True)
+        
+    # now fill in some data - create a record and fill it
+    data = cool.Record(spec)
+
+    dataDict = {167772160:False, # barrel_ec 0 layer_disk 0 eta_module -6 phi_module 0 side 0
+                167773184:True,  # barrel_ec 0 layer_disk 0 eta_module -6 phi_module 0 side 1
+                167774208:True,  # barrel_ec 0 layer_disk 0 eta_module -5 phi_module 0 side 0
+                167775232:True,  # barrel_ec 0 layer_disk 0 eta_module -5 phi_module 0 side 1
+                167776256:False, # barrel_ec 0 layer_disk 0 eta_module -4 phi_module 0 side 0
+                }
+    
+    for waferID, lastProbedState in dataDict.items():
+        print "\nChannel", waferID
+        print "lastProbedState is", lastProbedState
+        data[fieldNames[0]] = lastProbedState
+        print "Will store this object for channel", waferID, data
+        folder.storeObject(0, cool.ValidityKeyMax, data, waferID)
+
+    print "\nClose database"
+    db.closeDatabase()
+
+if __name__=="__main__":
+    main()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.cxx
new file mode 100644
index 00000000000..ba7cf4c1c28
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.cxx
@@ -0,0 +1,104 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SCT_LinkMaskingCondAlg.h"
+
+#include "GaudiKernel/EventIDRange.h"
+
+SCT_LinkMaskingCondAlg::SCT_LinkMaskingCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
+  : ::AthAlgorithm(name, pSvcLocator)
+  , m_readKey{"/purple/pants"}
+  // This folder can be created by SCT_ConditionsServices/python/createLinkMaskingSQLiteFile.py
+  , m_writeKey{"SCT_LinkMaskingCondData"}
+  , m_condSvc{"CondSvc", name}
+{
+  declareProperty("ReadKey", m_readKey, "Key of input (raw) bad wafer conditions folder");
+  declareProperty("WriteKey", m_writeKey, "Key of output (derived) bad wafer conditions folder");
+}
+
+SCT_LinkMaskingCondAlg::~SCT_LinkMaskingCondAlg() {
+}
+
+StatusCode SCT_LinkMaskingCondAlg::initialize() {
+  ATH_MSG_DEBUG("initialize " << name());
+
+  // CondSvc
+  ATH_CHECK(m_condSvc.retrieve());
+
+  // Read Cond Handle
+  ATH_CHECK(m_readKey.initialize());
+  // Write Cond Handles
+  ATH_CHECK(m_writeKey.initialize());
+  if(m_condSvc->regHandle(this, m_writeKey).isFailure()) {
+    ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKey.fullKey() << " with CondSvc");
+    return StatusCode::FAILURE;
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_LinkMaskingCondAlg::execute() {
+  ATH_MSG_DEBUG("execute " << name());
+
+  // Write Cond Handle
+  SG::WriteCondHandle<SCT_ModuleVetoCondData> writeHandle{m_writeKey};
+  // Do we have a valid Write Cond Handle for current time?
+  if (writeHandle.isValid()) {
+    // in theory this should never be called in MT
+    writeHandle.updateStore();
+    ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
+                  << ". In theory this should not be called, but may happen"
+                  << " if multiple concurrent events are being processed out of order."
+                  << " Forcing update of Store contents");
+    return StatusCode::SUCCESS; 
+  }
+
+  // Read Cond Handle
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  const CondAttrListCollection* readCdo{*readHandle}; 
+  if (readCdo==nullptr) {
+    ATH_MSG_FATAL("Null pointer to the read conditions object");
+    return StatusCode::FAILURE;
+  }
+  // Get the validitiy range
+  EventIDRange rangeW;
+  if (not readHandle.range(rangeW)) {
+    ATH_MSG_FATAL("Failed to retrieve validity range for " << readHandle.key());
+    return StatusCode::FAILURE;
+  }
+  ATH_MSG_INFO("Size of AthenaAttributeList " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
+  ATH_MSG_INFO("Range of input is " << rangeW);
+  
+  // Construct the output Cond Object and fill it in
+  SCT_ModuleVetoCondData* writeCdo{new SCT_ModuleVetoCondData()};
+
+  // Read bad wafer info
+  CondAttrListCollection::const_iterator linkItr{readCdo->begin()};
+  CondAttrListCollection::const_iterator linkEnd{readCdo->end()};
+  for (;linkItr != linkEnd; ++linkItr) {
+    //A CondAttrListCollection is a map of ChanNum and AttributeList
+    Identifier waferId{(*linkItr).first};
+    CondAttrListCollection::AttributeList payload{(*linkItr).second};
+    bool lastProbedState{payload[0].data<bool>()};
+    if (not lastProbedState) writeCdo->setBadWaferId(waferId);
+    ATH_MSG_INFO("LINK " << waferId << " (" << waferId.get_identifier32().get_compact() << " in 32 bit): " << lastProbedState);
+  }
+  if (writeCdo->size()!=0) writeCdo->setFilled();
+
+  // Record the output cond object
+  if (writeHandle.record(rangeW, writeCdo).isFailure()) {
+    ATH_MSG_FATAL("Could not record SCT_ModuleVetoCondData " << writeHandle.key() 
+                  << " with EventRange " << rangeW
+                  << " into Conditions Store");
+    return StatusCode::FAILURE;
+  }
+  ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_LinkMaskingCondAlg::finalize() {
+  ATH_MSG_DEBUG("finalize " << name());
+  return StatusCode::SUCCESS;
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.h
new file mode 100644
index 00000000000..26a6d6f70eb
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_LinkMaskingCondAlg.h
@@ -0,0 +1,36 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/ 
+
+#ifndef SCT_LINKMASKINGCONDALG
+#define SCT_LINKMASKINGCONDALG
+
+#include "AthenaBaseComps/AthAlgorithm.h"
+
+#include "StoreGate/ReadCondHandleKey.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+
+#include "StoreGate/WriteCondHandleKey.h"
+#include "SCT_ConditionsData/SCT_ModuleVetoCondData.h"
+
+#include "GaudiKernel/ICondSvc.h"
+
+#include "GaudiKernel/Property.h"
+
+class SCT_LinkMaskingCondAlg : public AthAlgorithm 
+{  
+ public:
+  SCT_LinkMaskingCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  ~SCT_LinkMaskingCondAlg();
+  StatusCode initialize();
+  StatusCode execute();
+  StatusCode finalize();
+
+ private:
+  SG::ReadCondHandleKey<CondAttrListCollection> m_readKey;
+  SG::WriteCondHandleKey<SCT_ModuleVetoCondData> m_writeKey;
+
+  ServiceHandle<ICondSvc> m_condSvc;
+};
+
+#endif // SCT_LINKMASKINGCONDALG
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.cxx
new file mode 100644
index 00000000000..6e6e9350cf6
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.cxx
@@ -0,0 +1,110 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SCT_ModuleVetoCondAlg.h"
+
+#include "GaudiKernel/EventIDRange.h"
+
+template <class T> 
+static std::vector<T> 
+string2Vector(const std::string& s) {
+  std::vector<T> v;
+  std::istringstream inputStream{s};
+  std::istream_iterator<T> vecRead{inputStream};
+  std::istream_iterator<T> endOfString; //relies on default constructor to produce eof
+  std::copy(vecRead,endOfString, std::back_inserter(v));// DOESN'T ALLOW NON-WHITESPACE DELIMITER !
+  return v;
+}
+
+SCT_ModuleVetoCondAlg::SCT_ModuleVetoCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
+  : ::AthAlgorithm(name, pSvcLocator)
+  , m_readKey{"/SCT/Manual/BadModules"}
+  , m_writeKey{"SCT_ModuleVetoCondData"}
+  , m_condSvc{"CondSvc", name}
+{
+  declareProperty("ReadKey", m_readKey, "Key of input (raw) bad module conditions folder");
+  declareProperty("WriteKey", m_writeKey, "Key of output (derived) bad module conditions folder");
+}
+
+SCT_ModuleVetoCondAlg::~SCT_ModuleVetoCondAlg() {
+}
+
+StatusCode SCT_ModuleVetoCondAlg::initialize() {
+  ATH_MSG_DEBUG("initialize " << name());
+
+  // CondSvc
+  ATH_CHECK(m_condSvc.retrieve());
+
+  // Read Cond Handle
+  ATH_CHECK(m_readKey.initialize());
+  // Write Cond Handles
+  ATH_CHECK(m_writeKey.initialize());
+  if(m_condSvc->regHandle(this, m_writeKey).isFailure()) {
+    ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKey.fullKey() << " with CondSvc");
+    return StatusCode::FAILURE;
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_ModuleVetoCondAlg::execute() {
+  ATH_MSG_DEBUG("execute " << name());
+
+  // Write Cond Handle
+  SG::WriteCondHandle<SCT_ModuleVetoCondData> writeHandle{m_writeKey};
+  // Do we have a valid Write Cond Handle for current time?
+  if (writeHandle.isValid()) {
+    // in theory this should never be called in MT
+    writeHandle.updateStore();
+    ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
+                  << ". In theory this should not be called, but may happen"
+                  << " if multiple concurrent events are being processed out of order."
+                  << " Forcing update of Store contents");
+    return StatusCode::SUCCESS; 
+  }
+
+  // Read Cond Handle
+  SG::ReadCondHandle<AthenaAttributeList> readHandle{m_readKey};
+  const AthenaAttributeList* readCdo{*readHandle}; 
+  if (readCdo==nullptr) {
+    ATH_MSG_FATAL("Null pointer to the read conditions object");
+    return StatusCode::FAILURE;
+  }
+  // Get the validitiy range
+  EventIDRange rangeW;
+  if (not readHandle.range(rangeW)) {
+    ATH_MSG_FATAL("Failed to retrieve validity range for " << readHandle.key());
+    return StatusCode::FAILURE;
+  }
+  ATH_MSG_INFO("Size of AthenaAttributeList " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
+  ATH_MSG_INFO("Range of input is " << rangeW);
+  
+  // Construct the output Cond Object and fill it in
+  SCT_ModuleVetoCondData* writeCdo{new SCT_ModuleVetoCondData()};
+
+  // Read bad wafer info
+  std::string badModuleString{(*readCdo)["ModuleList"].data<std::string>()};
+  std::vector<int> v{string2Vector<int>(badModuleString)};
+  int numberInDb{static_cast<int>(v.size())};
+  ATH_MSG_INFO(numberInDb << " elements were declared bad in the database.");
+  for (std::vector<int>::const_iterator i{v.begin()}; i!=v.end(); ++i) {
+    writeCdo->setBadWaferId(Identifier{*i});
+  }
+
+  // Record the output cond object
+  if (writeHandle.record(rangeW, writeCdo).isFailure()) {
+    ATH_MSG_FATAL("Could not record SCT_ModuleVetoCondData " << writeHandle.key() 
+                  << " with EventRange " << rangeW
+                  << " into Conditions Store");
+    return StatusCode::FAILURE;
+  }
+  ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_ModuleVetoCondAlg::finalize() {
+  ATH_MSG_DEBUG("finalize " << name());
+  return StatusCode::SUCCESS;
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.h
new file mode 100644
index 00000000000..5c2c634d524
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_ModuleVetoCondAlg.h
@@ -0,0 +1,36 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/ 
+
+#ifndef SCT_MODULEVETOCONDALG
+#define SCT_MODULEVETOCONDALG
+
+#include "AthenaBaseComps/AthAlgorithm.h"
+
+#include "StoreGate/ReadCondHandleKey.h"
+#include "AthenaPoolUtilities/AthenaAttributeList.h"
+
+#include "StoreGate/WriteCondHandleKey.h"
+#include "SCT_ConditionsData/SCT_ModuleVetoCondData.h"
+
+#include "GaudiKernel/ICondSvc.h"
+
+#include "GaudiKernel/Property.h"
+
+class SCT_ModuleVetoCondAlg : public AthAlgorithm 
+{  
+ public:
+  SCT_ModuleVetoCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  ~SCT_ModuleVetoCondAlg();
+  StatusCode initialize();
+  StatusCode execute();
+  StatusCode finalize();
+
+ private:
+  SG::ReadCondHandleKey<AthenaAttributeList> m_readKey;
+  SG::WriteCondHandleKey<SCT_ModuleVetoCondData> m_writeKey;
+
+  ServiceHandle<ICondSvc> m_condSvc;
+};
+
+#endif // SCT_MODULEVETOCONDALG
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.cxx
new file mode 100644
index 00000000000..1b6ced6a98e
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.cxx
@@ -0,0 +1,50 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file SCT_RODVetoTestWriteAlg.cxx
+ *
+ * @brief Implementation file for the SCT_RODVetoTestWriteAlg class 
+ * in package SCT_ConditionsServices
+ *
+ * @author Susumu Oda
+ **/
+
+#include "SCT_RODVetoTestWriteAlg.h"
+
+
+//Gaudi includes
+#include "GaudiKernel/StatusCode.h"
+
+SCT_RODVetoTestWriteAlg::SCT_RODVetoTestWriteAlg(const std::string& name, 
+                                                 ISvcLocator* pSvcLocator ) : 
+  AthAlgorithm(name, pSvcLocator),
+  m_badRODElements("BadRODIdentifiers"),
+  m_badRODElementsInput{0x240100} {
+  declareProperty("WriteKeyBadRODIdentifiers", m_badRODElements);
+  declareProperty("BadRODIdentifiers", m_badRODElementsInput);
+}
+
+SCT_RODVetoTestWriteAlg::~SCT_RODVetoTestWriteAlg() { 
+}
+
+StatusCode SCT_RODVetoTestWriteAlg::initialize() {
+  ATH_CHECK(m_badRODElements.initialize());
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_RODVetoTestWriteAlg::execute() {
+  SG::WriteHandle<std::vector<unsigned int> > out(m_badRODElements);
+  ATH_CHECK( out.record( std::make_unique<std::vector<unsigned int> >() ) );
+  for (auto itr=m_badRODElementsInput.begin(); itr!=m_badRODElementsInput.end(); itr++) {
+    out->push_back(*itr);
+  }
+ 
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_RODVetoTestWriteAlg::finalize() {
+  return StatusCode::SUCCESS;
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.h
new file mode 100644
index 00000000000..2b5a0e52dc6
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_RODVetoTestWriteAlg.h
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+* @file SCT_RODVetoTestWriteAlg.h
+*
+* @brief Header file for the SCT_RODVetoTestWriteAlg class 
+*  in package SCT_ConditionsServices
+*
+* @author Daiki Hayakawa
+**/
+
+#ifndef SCT_RODVetoTestWriteAlg_H
+#define SCT_RODVetoTestWriteAlg_H 
+// STL
+#include <string>
+#include <vector>
+
+// Athena
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "StoreGate/WriteHandle.h"
+
+// Local
+#include "SCT_ConditionsServices/ISCT_ConditionsSvc.h"
+
+//Forward declarations
+class ISvcLocator;
+class StatusCode;
+
+/// Algorithm needs to show calling the SCT_RODVeto to exclude bad components
+class SCT_RODVetoTestWriteAlg : public AthAlgorithm {
+ public:
+  SCT_RODVetoTestWriteAlg(const std::string &name, ISvcLocator *pSvcLocator) ;
+ ~SCT_RODVetoTestWriteAlg();
+
+  StatusCode initialize();
+  StatusCode execute();
+  StatusCode finalize();
+   
+ private:
+  SG::WriteHandle<std::vector<unsigned int>> m_badRODElements;
+  std::vector<unsigned int> m_badRODElementsInput;
+}; //end of class
+
+#endif // SCT_RODVetoTestWriteAlg_H
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.cxx
new file mode 100644
index 00000000000..571185bbca1
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.cxx
@@ -0,0 +1,121 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SCT_SensorsCondAlg.h"
+
+#include "GaudiKernel/EventIDRange.h"
+
+SCT_SensorsCondAlg::SCT_SensorsCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
+  : ::AthAlgorithm(name, pSvcLocator)
+  , m_readKey{"/SCT/Sensors"}
+  , m_writeKey{"SCT_SensorsCondData"}
+  , m_condSvc{"CondSvc", name}
+{
+  declareProperty("ReadKey", m_readKey, "Key of input (raw) conditions folder");
+  declareProperty("WriteKey", m_writeKey, "Key of output (derived) conditions folder");
+}
+
+SCT_SensorsCondAlg::~SCT_SensorsCondAlg()
+{
+}
+
+StatusCode SCT_SensorsCondAlg::initialize()
+{
+  ATH_MSG_DEBUG("initialize " << name());
+
+  // CondSvc
+  ATH_CHECK( m_condSvc.retrieve() );
+
+  // Read Cond Handle
+  ATH_CHECK( m_readKey.initialize() );
+
+  // Write Cond Handle
+  ATH_CHECK( m_writeKey.initialize() );
+  // Register write handle
+  if(m_condSvc->regHandle(this, m_writeKey).isFailure()) {
+    ATH_MSG_ERROR("unable to register WriteCondHandle " << m_writeKey.fullKey() << " with CondSvc");
+    return StatusCode::FAILURE;
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_SensorsCondAlg::execute()
+{
+  ATH_MSG_DEBUG("execute " << name());
+
+  // Write Cond Handle
+  SG::WriteCondHandle<SCT_SensorsCondData> writeHandle{m_writeKey};
+
+  // Do we have a valid Write Cond Handle for current time?
+  if(writeHandle.isValid()) {
+    // in theory this should never be called in MT
+    writeHandle.updateStore();
+    ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
+                  << ". In theory this should not be called, but may happen"
+                  << " if multiple concurrent events are being processed out of order."
+                  << " Forcing update of Store contents");
+    return StatusCode::SUCCESS; 
+  }
+
+  // Read Cond Handle 
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  const CondAttrListCollection* readCdo{*readHandle}; 
+  if(readCdo==nullptr) {
+    ATH_MSG_FATAL("Null pointer to the read conditions object");
+    return StatusCode::FAILURE;
+  }
+  ATH_MSG_INFO("Size of CondAttrListCollection readCdo->size()= " << readCdo->size());
+
+  // Define validity of the output cond obbject
+  EventIDRange rangeW;
+  if(not readHandle.range(rangeW)) {
+    ATH_MSG_FATAL("Failed to retrieve validity range for " << readHandle.key());
+    return StatusCode::FAILURE;
+  }
+
+  // Construct the output Cond Object and fill it in
+  SCT_SensorsCondData* writeCdo{new SCT_SensorsCondData()};
+
+  // Fill write conditions data object
+  CondAttrListCollection::const_iterator attrList{readCdo->begin()};
+  CondAttrListCollection::const_iterator end{readCdo->end()};
+  // CondAttrListCollection doesnt support C++11 type loops, no generic 'begin'
+  for(; attrList!=end; ++attrList) {
+    CondAttrListCollection::ChanNum truncatedSerialNumber{attrList->first};
+    SCT_SensorCondData data;
+    bool isOK{false};
+    isOK |= data.setTruncatedSerialNumber(truncatedSerialNumber);
+    isOK |= data.setManufacturer(attrList->second[0].data<std::string>());
+    isOK |= data.setDepletionVoltage(SCT_SensorCondData::SENSOR1, attrList->second[1].data<float>());
+    isOK |= data.setDepletionVoltage(SCT_SensorCondData::SENSOR2, attrList->second[2].data<float>());
+    isOK |= data.setDepletionVoltage(SCT_SensorCondData::SENSOR3, attrList->second[3].data<float>());
+    isOK |= data.setDepletionVoltage(SCT_SensorCondData::SENSOR4, attrList->second[4].data<float>());
+    isOK |= data.setCrystalOrientation(SCT_SensorCondData::SENSOR1, static_cast<int>(attrList->second[5].data<long long>()));
+    isOK |= data.setCrystalOrientation(SCT_SensorCondData::SENSOR2, static_cast<int>(attrList->second[6].data<long long>()));
+    isOK |= data.setCrystalOrientation(SCT_SensorCondData::SENSOR3, static_cast<int>(attrList->second[7].data<long long>()));
+    isOK |= data.setCrystalOrientation(SCT_SensorCondData::SENSOR4, static_cast<int>(attrList->second[8].data<long long>()));
+    if (not isOK) {
+      ATH_MSG_WARNING("At least one element of SCT_SensorCondData for truncatedSerialNumber " << truncatedSerialNumber << " was not correctly stored.");
+    }
+    (*writeCdo)[truncatedSerialNumber] = data;
+  }
+
+  // Record write conditions data object
+  if(writeHandle.record(rangeW, writeCdo).isFailure()) {
+    ATH_MSG_FATAL("Could not record SCT_SensorsCondData " << writeHandle.key() 
+                  << " with EventRange " << rangeW
+                  << " into Conditions Store");
+    return StatusCode::FAILURE;
+  }
+  ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode SCT_SensorsCondAlg::finalize()
+{
+  ATH_MSG_DEBUG("finalize " << name());
+  return StatusCode::SUCCESS;
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.h
new file mode 100644
index 00000000000..470de61baee
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsServices/src/SCT_SensorsCondAlg.h
@@ -0,0 +1,30 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/ 
+
+#ifndef SCT_SENSORSCONDALG
+#define SCT_SENSORSCONDALG
+
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "StoreGate/ReadCondHandleKey.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+#include "StoreGate/WriteCondHandleKey.h"
+#include "SCT_ConditionsData/SCT_SensorsCondData.h"
+#include "GaudiKernel/ICondSvc.h"
+
+class SCT_SensorsCondAlg : public AthAlgorithm 
+{  
+ public:
+  SCT_SensorsCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  ~SCT_SensorsCondAlg();
+  StatusCode initialize();
+  StatusCode execute();
+  StatusCode finalize();
+
+ private:
+  SG::ReadCondHandleKey<CondAttrListCollection> m_readKey;
+  SG::WriteCondHandleKey<SCT_SensorsCondData> m_writeKey;
+  ServiceHandle<ICondSvc> m_condSvc; 
+};
+
+#endif // SCT_SENSORSCONDALG
diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
new file mode 100644
index 00000000000..85bc1c706c3
--- /dev/null
+++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
@@ -0,0 +1,24 @@
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AtlasGeoModel.GeoModelConfig import GeoModelCfg
+from IOVDbSvc.IOVDbSvcConfig import addFolders
+
+def LArGMCfg(ConfigFlags):
+    result=ComponentAccumulator()
+    
+    result.executeModule(GeoModelCfg,ConfigFlags)
+
+    doAlignment=ConfigFlags.get("LArGeoAlgsNV.LArGeoModelFlags.doAlign")
+    
+    from LArGeoAlgsNV.LArGeoAlgsNVConf import LArDetectorToolNV
+    result.getService("GeoModelSvc").DetectorTools += [ LArDetectorToolNV(ApplyAlignments=doAlignment) ]
+
+    if doAlignment:
+        if ConfigFlags.get("AthenaConfiguration.GlobalConfigFlags.isMC"):
+            #Monte Carlo case:
+            result.executeModule(addFolders,ConfigFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_OFL")
+        else:
+            #Regular offline data processing
+            result.executeModule(addFolders, ConfigFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_ONL")
+
+        
+    return result
diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGeoModelFlags.py b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGeoModelFlags.py
new file mode 100644
index 00000000000..8bbe42702b5
--- /dev/null
+++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGeoModelFlags.py
@@ -0,0 +1,7 @@
+from AthenaConfiguration.ConfigFlags import ConfigFlag
+
+class doAlign(ConfigFlag):
+    """ Flag to activate LAr Alignment
+    """  
+    def getDefault(self,prevFlags):
+        return prevFlags.get("AthenaConfiguration.GlobalConfigFlags.GeoLayout")=="atlas"
diff --git a/MuonSpectrometer/MSVertexReconstruction/MSVertexTools/src/MSVertexTrackletTool.cxx b/MuonSpectrometer/MSVertexReconstruction/MSVertexTools/src/MSVertexTrackletTool.cxx
index 40495b59409..d4245e37ec7 100644
--- a/MuonSpectrometer/MSVertexReconstruction/MSVertexTools/src/MSVertexTrackletTool.cxx
+++ b/MuonSpectrometer/MSVertexReconstruction/MSVertexTools/src/MSVertexTrackletTool.cxx
@@ -713,7 +713,9 @@ namespace Muon {
 	  float mdt_y = sqrt(sq(mdts.at(i)->globalPosition().x())+sq(mdts.at(i)->globalPosition().y()));
 	  float mdt_z = mdts.at(i)->globalPosition().z();
 	  float yPi = -(mdt_z-zc)*sin(alpha) + (mdt_y-yc)*cos(alpha) - d;
-	  float signR = -1*yPi/fabs(yPi);
+	  float signR;
+	  if(yPi < 1.0e-8) signR = 1.;
+	  else  signR = -1.*yPi/fabs(yPi);
 	  float sigma2 = sq(Amg::error(mdts.at(i)->localCovariance(),Trk::locR));
 	  float ri = signR*mdts.at(i)->localPosition()[Trk::locR];
 	  ////
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/share/STGC_RawDataContainerCnv_p1_test.ref b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/share/STGC_RawDataContainerCnv_p1_test.ref
new file mode 100644
index 00000000000..374247ebea4
--- /dev/null
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/share/STGC_RawDataContainerCnv_p1_test.ref
@@ -0,0 +1,219 @@
+
+
+Initializing Gaudi ApplicationMgr using job opts ../share/MuonEventTPCnv_test.txt
+JobOptionsSvc        INFO # =======> /home/sss/nobackup/atlas/build/../tests/../share/MuonEventTPCnv_test.txt
+JobOptionsSvc        INFO # (1,1): ApplicationMgr.DLLs += ["StoreGate", "CLIDComps"]
+JobOptionsSvc        INFO # (2,1): ApplicationMgr.ExtSvc += ["StoreGateSvc", "StoreGateSvc/DetectorStore"]
+JobOptionsSvc        INFO Job options successfully read in from ../share/MuonEventTPCnv_test.txt
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Sat Dec 16 17:51:42 2017
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : StoreGate, CLIDComps
+ApplicationMgr       INFO Application Manager Configured successfully
+ClassIDSvc           INFO  getRegistryEntries: read 4155 CLIDRegistry entries for module ALL
+EventLoopMgr      WARNING Unable to locate service "EventSelector" 
+EventLoopMgr      WARNING No events will be processed from external input.
+HistogramPersis...WARNING Histograms saving not required.
+ApplicationMgr       INFO Application Manager Initialized successfully
+ApplicationMgr Ready
+ Volume psdum2 not found: returning 0
+ Volume psdum3 not found: returning 0
+ Volume pmdum2 not found: returning 0
+ Volume pmdum3 not found: returning 0
+ INFO Initialize from dictionary
+ DEBUG (Re)initialize
+ AtlasDetectorID::initialize_from_dictionary - OK 
+ DEBUG decode index and bit fields for each level: 
+ DEBUG indet          decode 1 vals 2,4,5,7,10,11,12,13 mask/zero mask/shift/bits/offset 7   1fffffffffffffff 61 3  0  indexes 0 0 1 2 0 3 0 0 4 5 6 7 mode  enumerated  
+ DEBUG pixel          decode 1 vals 1:3             mask/zero mask/shift/bits/offset 3   e7ffffffffffffff 59 2  3  indexes                     mode  both_bounded  
+ DEBUG bec            decode 1 vals -2,0,2          mask/zero mask/shift/bits/offset 3   f9ffffffffffffff 57 2  5  indexes 0 0 1 0 2           mode  enumerated  
+ DEBUG bec_shift      decode 0 vals 0               mask/zero mask/shift/bits/offset 0   0 0  0  0  indexes                     mode  both_bounded  
+ DEBUG lay_disk       decode 0 vals 0:2             mask/zero mask/shift/bits/offset 3   fe7fffffffffffff 55 2  7  indexes                     mode  both_bounded  
+ DEBUG lay_disk_shift decode 0 vals 0               mask/zero mask/shift/bits/offset 0   0 0  0  0  indexes                     mode  both_bounded  
+ DEBUG phi_mod        decode 0 vals 0:51            mask/zero mask/shift/bits/offset 3f  ff81ffffffffffff 49 6  9  indexes                     mode  both_bounded  
+ DEBUG phi_mod_shift  decode 0 vals 0               mask/zero mask/shift/bits/offset 0   0 0  0  0  indexes                     mode  both_bounded  
+ DEBUG eta_mod        decode 1 vals -6:6            mask/zero mask/shift/bits/offset f   fffe1fffffffffff 45 4  15 indexes                     mode  both_bounded  
+ DEBUG eta_mod_shift  decode 0 vals 0               mask/zero mask/shift/bits/offset 0   0 0  0  0  indexes                     mode  both_bounded  
+ DEBUG phi_index      decode 0 vals 0:327           mask/zero mask/shift/bits/offset 1ff ffffe00fffffffff 36 9  19 indexes                     mode  both_bounded  
+ DEBUG eta_index      decode 0 vals 0:191           mask/zero mask/shift/bits/offset ff  fffffff00fffffff 28 8  28 indexes                     mode  both_bounded  
+ DEBUG bec_eta_mod    decode 0 vals 0               mask/zero mask/shift/bits/offset 0   0 0  0  0  indexes                     mode  both_bounded  
+indet 1 2,4,5,7,10,11,12,13 7 1fffffffffffffff 61 3 0 min/max 2 13 values  2 4 5 7 10 11 12 13 indexes  0 0 1 2 0 3 0 0 4 5 6 7 indices  8 prev  0 next  0 mode  enumerated  cont mode  none  
+pixel 1 1:3 3 e7ffffffffffffff 59 2 3 min/max 1 3 values  indexes  indices  3 prev  0 next  0 mode  both_bounded  cont mode  none  
+bec 1 -2,0,2 3 f9ffffffffffffff 57 2 5 min/max -2 2 values  -2 0 2 indexes  0 0 1 0 2 indices  3 prev  0 next  0 mode  enumerated  cont mode  none  
+bec_shift 0 0 0 0 0 0 0 min/max 0 0 values  indexes  indices  0 prev  0 next  0 mode  both_bounded  cont mode  none  
+lay_disk 0 0:2 3 fe7fffffffffffff 55 2 7 min/max 0 2 values  indexes  indices  3 prev  0 next  0 mode  both_bounded  cont mode  none  
+lay_disk_shift 0 0 0 0 0 0 0 min/max 0 0 values  indexes  indices  0 prev  0 next  0 mode  both_bounded  cont mode  none  
+phi_mod 0 0:51 3f ff81ffffffffffff 49 6 9 min/max 0 51 values  indexes  indices  52 prev  0 next  0 mode  both_bounded  cont mode  none  
+phi_mod_shift 0 0 0 0 0 0 0 min/max 0 0 values  indexes  indices  0 prev  0 next  0 mode  both_bounded  cont mode  none  
+eta_mod 1 -6:6 f fffe1fffffffffff 45 4 15 min/max -6 6 values  indexes  indices  13 prev  0 next  0 mode  both_bounded  cont mode  none  
+eta_mod_shift 0 0 0 0 0 0 0 min/max 0 0 values  indexes  indices  0 prev  0 next  0 mode  both_bounded  cont mode  none  
+phi_index 0 0:327 1ff ffffe00fffffffff 36 9 19 min/max 0 327 values  indexes  indices  328 prev  0 next  0 mode  both_bounded  cont mode  none  
+eta_index 0 0:191 ff fffffff00fffffff 28 8 28 min/max 0 191 values  indexes  indices  192 prev  0 next  0 mode  both_bounded  cont mode  none  
+bec_eta_mod 0 0 0 0 0 0 0 min/max 0 0 values  indexes  indices  0 prev  0 next  0 mode  both_bounded  cont mode  none  
+PixelID::initLevelsFromDict - found levels 
+subdet        0
+part          1
+barrel_endcap 2
+layer or disk 3
+phi_module    4
+eta_module    5
+phi_index     6
+eta_index     7
+ DEBUG PixelID::initialize_from_dict Set barrel field values: 0
+ DEBUG PixelID::initialize_from_dict Set dbm field values: -999,999
+ DEBUG PixelID::initialize_from_dict Found field values: InDet/Pixel 2/1
+ DEBUG PixelID::init_neighbors 
+ DEBUG PixelID::initialize_from_dict 
+ DEBUG Wafer range -> 2/1/0/0/0:21/-6:6 | 2/1/0/1/0:37/-6:6 | 2/1/0/2/0:51/-6:6 | 2/1/-2,2/0:2/0:47/0
+ DEBUG Pixel range -> 2/1/0/0/0:21/-6:6/0:327/0:191 | 2/1/0/1/0:37/-6:6/0:327/0:143 | 2/1/0/2/0:51/-6:6/0:327/0:143 | 2/1/-2,2/0:2/0:47/0/0:327/0:143
+ClassIDSvc           INFO  getRegistryEntries: read 372 CLIDRegistry entries for module ALL
+SCT_ID               INFO Initialize from dictionary
+ DEBUG (Re)initialize
+ AtlasDetectorID::initialize_from_dictionary - OK 
+ DEBUG decode index and bit fields for each level: 
+ DEBUG indet    decode 1 vals 2,4,5,7,10,11,12,13 mask/zero mask/shift/bits/offset 7   1fffffffffffffff 61 3  0  indexes 0 0 1 2 0 3 0 0 4 5 6 7 mode  enumerated  
+ DEBUG sct      decode 1 vals 1:3             mask/zero mask/shift/bits/offset 3   e7ffffffffffffff 59 2  3  indexes                     mode  both_bounded  
+ DEBUG bec      decode 1 vals -2,0,2          mask/zero mask/shift/bits/offset 3   f9ffffffffffffff 57 2  5  indexes 0 0 1 0 2           mode  enumerated  
+ DEBUG lay_disk decode 0 vals 0:8             mask/zero mask/shift/bits/offset f   fe1fffffffffffff 53 4  7  indexes                     mode  both_bounded  
+ DEBUG phi_mod  decode 0 vals 0:55            mask/zero mask/shift/bits/offset 3f  ffe07fffffffffff 47 6  11 indexes                     mode  both_bounded  
+ DEBUG eta_mod  decode 1 vals -6:6            mask/zero mask/shift/bits/offset f   ffff87ffffffffff 43 4  17 indexes                     mode  both_bounded  
+ DEBUG side     decode 0 vals 0:1             mask/zero mask/shift/bits/offset 1   fffffbffffffffff 42 1  21 indexes                     mode  both_bounded  
+ DEBUG strip    decode 0 vals 0:767           mask/zero mask/shift/bits/offset 3ff fffffc00ffffffff 32 10 22 indexes                     mode  both_bounded  
+indet 1 2,4,5,7,10,11,12,13 7 1fffffffffffffff 61 3 0
+sct1 1:3 3 e7ffffffffffffff 59 2 3
+bec1 -2,0,2 3 f9ffffffffffffff 57 2 5
+lay_disk0 0:8 f fe1fffffffffffff 53 4 7
+phi_mod0 0:55 3f ffe07fffffffffff 47 6 11
+eta_mod1 -6:6 f ffff87ffffffffff 43 4 17
+side0 0:1 1 fffffbffffffffff 42 1 21
+strip0 0:767 3ff fffffc00ffffffff 32 10 22
+ DEBUG SCT_ID::initialize_from_dict Set barrel field values: 0
+ DEBUG SCT_ID::initialize_from_dict Found field values: SCT 2
+ DEBUG SCT_ID::init_neighbors 
+ INFO SCT_ID::initialize_from_dict 
+ DEBUG  Wafer range -> 2/2/0/0/0:31/-6:-1/0:1 | 2/2/0/1/0:39/-6:-1/0:1 | 2/2/0/2/0:47/-6:-1/0:1 | 2/2/0/3/0:55/-6:-1/0:1 | 2/2/0/0/0:31/1:6/0:1 | 2/2/0/1/0:39/1:6/0:1 | 2/2/0/2/0:47/1:6/0:1 | 2/2/0/3/0:55/1:6/0:1 | 2/2/-2,2/0:8/0:51/0/0:1 | 2/2/-2,2/0/0:39/1/0:1 | 2/2/-2,2/1:5/0:39/1:2/0:1 | 2/2/-2,2/6:7/0:39/1/0:1
+ DEBUG Strip range -> 2/2/0/0/0:31/-6:-1/0:1/0:767 | 2/2/0/1/0:39/-6:-1/0:1/0:767 | 2/2/0/2/0:47/-6:-1/0:1/0:767 | 2/2/0/3/0:55/-6:-1/0:1/0:767 | 2/2/0/0/0:31/1:6/0:1/0:767 | 2/2/0/1/0:39/1:6/0:1/0:767 | 2/2/0/2/0:47/1:6/0:1/0:767 | 2/2/0/3/0:55/1:6/0:1/0:767 | 2/2/-2,2/0:8/0:51/0/0:1/0:767 | 2/2/-2,2/0/0:39/1/0:1/0:767 | 2/2/-2,2/1:5/0:39/1:2/0:1/0:767 | 2/2/-2,2/6:7/0:39/1/0:1/0:767
+INFO Initialize from dictionary cout 0
+ DEBUG (Re)initialize
+ AtlasDetectorID::initialize_from_dictionary - OK 
+ DEBUG decode index and bit fields for each level: 
+ DEBUG indet     decode 1 vals 2,4,5,7,10,11,12,13 mask/zero mask/shift/bits/offset 7   1fffffffffffffff 61 3  0  indexes 0 0 1 2 0 3 0 0 4 5 6 7 mode  enumerated  
+ DEBUG trt       decode 1 vals 1:3             mask/zero mask/shift/bits/offset 3   e7ffffffffffffff 59 2  3  indexes                     mode  both_bounded  
+ DEBUG bec       decode 1 vals -2,-1,1,2       mask/zero mask/shift/bits/offset 3   f9ffffffffffffff 57 2  5  indexes 0 1 0 2 3           mode  enumerated  
+ DEBUG phi_mod   decode 0 vals 0:31            mask/zero mask/shift/bits/offset 1f  fe0fffffffffffff 52 5  7  indexes                     mode  both_bounded  
+ DEBUG lay_wheel decode 0 vals 0:17            mask/zero mask/shift/bits/offset 1f  fff07fffffffffff 47 5  12 indexes                     mode  both_bounded  
+ DEBUG str_lay   decode 0 vals 0:29            mask/zero mask/shift/bits/offset 1f  ffff83ffffffffff 42 5  17 indexes                     mode  both_bounded  
+ DEBUG straw     decode 0 vals 0:28            mask/zero mask/shift/bits/offset 1f  fffffc1fffffffff 37 5  22 indexes                     mode  both_bounded  
+ DEBUG  TRT_ID::initialize_from_dict Set barrel field values: -1,1
+ DEBUG  TRT_ID::initialize_from_dict Found field values: InDet/TRT 2/3
+ DEBUG Module range -> 2/3/-1,1/0:31/0 | 2/3/-1,1/0:31/1 | 2/3/-1,1/0:31/2 | 2/3/-2,2/0:31/0:5 | 2/3/-2,2/0:31/6:13 | 2/3/-2,2/0:31/14:17
+ DEBUG TRT_ID::init_hashes  module hash max 1344
+ DEBUG TRT_ID::init_hashes  straw layer hash max 19008
+ DEBUG TRT_ID::init_hashes  straw hash max 424576
+ DEBUG  TRT_ID::initialize_from_dict 
+ DEBUG Module range -> 2/3/-1,1/0:31/0 | 2/3/-1,1/0:31/1 | 2/3/-1,1/0:31/2 | 2/3/-2,2/0:31/0:5 | 2/3/-2,2/0:31/6:13 | 2/3/-2,2/0:31/14:17
+ DEBUG Straw layer range -> 2/3/-1,1/0:31/0/0 | 2/3/-1,1/0:31/0/1:4 | 2/3/-1,1/0:31/0/5:9 | 2/3/-1,1/0:31/0/10:14 | 2/3/-1,1/0:31/0/15:17 | 2/3/-1,1/0:31/0/18 | 2/3/-1,1/0:31/1/0 | 2/3/-1,1/0:31/1/1:5 | 2/3/-1,1/0:31/1/6:10 | 2/3/-1,1/0:31/1/11:15 | 2/3/-1,1/0:31/1/16:20 | 2/3/-1,1/0:31/1/21:22 | 2/3/-1,1/0:31/1/23 | 2/3/-1,1/0:31/2/0 | 2/3/-1,1/0:31/2/1:4 | 2/3/-1,1/0:31/2/5:9 | 2/3/-1,1/0:31/2/10:14 | 2/3/-1,1/0:31/2/15:19 | 2/3/-1,1/0:31/2/20:24 | 2/3/-1,1/0:31/2/25:28 | 2/3/-1,1/0:31/2/29 | 2/3/-2,2/0:31/0:5/0:15 | 2/3/-2,2/0:31/6:13/0:7 | 2/3/-2,2/0:31/14:17/0:15
+ DEBUG Straw range -> 2/3/-1,1/0:31/0/0/0:14 | 2/3/-1,1/0:31/0/1:4/0:15 | 2/3/-1,1/0:31/0/5:9/0:16 | 2/3/-1,1/0:31/0/10:14/0:17 | 2/3/-1,1/0:31/0/15:17/0:18 | 2/3/-1,1/0:31/0/18/0:17 | 2/3/-1,1/0:31/1/0/0:18 | 2/3/-1,1/0:31/1/1:5/0:19 | 2/3/-1,1/0:31/1/6:10/0:20 | 2/3/-1,1/0:31/1/11:15/0:21 | 2/3/-1,1/0:31/1/16:20/0:22 | 2/3/-1,1/0:31/1/21:22/0:23 | 2/3/-1,1/0:31/1/23/0:22 | 2/3/-1,1/0:31/2/0/0:22 | 2/3/-1,1/0:31/2/1:4/0:23 | 2/3/-1,1/0:31/2/5:9/0:24 | 2/3/-1,1/0:31/2/10:14/0:25 | 2/3/-1,1/0:31/2/15:19/0:26 | 2/3/-1,1/0:31/2/20:24/0:27 | 2/3/-1,1/0:31/2/25:28/0:28 | 2/3/-1,1/0:31/2/29/0:27 | 2/3/-2,2/0:31/0:5/0:15/0:23 | 2/3/-2,2/0:31/6:13/0:7/0:23 | 2/3/-2,2/0:31/14:17/0:15/0:17
+ AtlasDetectorID::initialize_from_dictionary - OK 
+CscIdHelper          INFO MultiRange built successfully to Technology: MultiRange size is 218
+CscIdHelper          INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 257
+CscIdHelper          INFO MultiRange built successfully to cscStrip: MultiRange size is 261
+CscIdHelper          INFO Initializing CSC hash indices ... 
+CscIdHelper          INFO The element hash max is 32
+CscIdHelper          INFO The detector element hash max is 64
+CscIdHelper          INFO The channel hash max is 61440
+CscIdHelper          INFO Initializing CSC hash indices for finding neighbors ... 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+RpcIdHelper          INFO MultiRange built successfully to doubletR: MultiRange size is 261
+RpcIdHelper          INFO MultiRange built successfully to detectorElement: DetectorElement MultiRange size is 261
+RpcIdHelper          INFO MultiRange built successfully to rpcStrip: MultiRange size is 261
+RpcIdHelper          INFO Initializing RPC hash indices ... 
+RpcIdHelper          INFO The element hash max is 600
+RpcIdHelper          INFO The detector element hash max is 1122
+RpcIdHelper          INFO Initializing RPC hash indices for finding neighbors ... 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+TgcIdHelper          INFO MultiRange built successfully to Technology: MultiRange size is 218
+TgcIdHelper          INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 218
+TgcIdHelper          INFO MultiRange built successfully to channel: MultiRange size is 261
+TgcIdHelper          INFO Initializing TGC hash indices ... 
+TgcIdHelper          INFO The element hash max is 1578
+TgcIdHelper          INFO The detector element hash max is 1578
+TgcIdHelper          INFO Initializing TGC hash indices for finding neighbors ... 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+MdtIdHelper          INFO MultiRange built successfully to Technology: MultiRange size is 218
+MdtIdHelper          INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 261
+MdtIdHelper          INFO MultiRange built successfully to tube: MultiRange size is 261
+MdtIdHelper          INFO Initializing MDT hash indices ... 
+MdtIdHelper          INFO The element hash max is 1188
+MdtIdHelper          INFO The detector element hash max is 2328
+MdtIdHelper          INFO Initializing MDT hash indices for finding neighbors ... 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+sTgcIdHelper         INFO MultiRange built successfully to Technology: MultiRange size is 218
+sTgcIdHelper         INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 253
+sTgcIdHelper         INFO MultiRange built successfully to channel: MultiRange size is 261
+sTgcIdHelper         INFO Initializing sTGC hash indices ... 
+sTgcIdHelper         INFO The element hash max is 96
+sTgcIdHelper         INFO The detector element hash max is 192
+sTgcIdHelper         INFO Initializing sTGC hash indices for finding neighbors ... 
+MuGM:sTgcReadou...   INFO sTGCname: sTG1-dummy
+MuGM:sTgcReadou...   INFO Found sTGC detector: sTG1-dummy 0x63b6a0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO Volume Type: Trd
+MuGM:sTgcReadou...   INFO STS
+MuGM:sTgcReadou...   INFO Found sTGC Detector sTG1-dummy
+MuGM:sTgcReadou...   INFO firstPos: 0
+MuGM:sTgcReadou...   INFO initDesign:STS layer 0, strip pitch 3.2, nstrips 0
+MuGM:sTgcReadou...   INFO initDesign:STS layer 0, wireGang pitch 1.8, nWireGangs 0
+MuGM:sTgcReadou...   INFO initDesign stationname STS layer 0,pad phi angular width 0, eta pad size 0  Length: 0 sWidth: 0 lWidth: 0 firstPhiPos:0 padEtaMin:0 padEtaMax:0 firstRowPos:0 inputRowPitch:0 thickness:1 sPadWidth: 0 lPadWidth: 0 xFrame: 0 ysFrame: 0 ylFrame: 0 yCutout: 0
+ Willing to add sTGC RE with IdFields: iStName, iStEta, iStPhi, imL = 1 2 2 1
+ ... using internal indices  [0][5][3][0]
+MuGM:sTgcReadou...   INFO sTGCname: sTG1-dummy
+MuGM:sTgcReadou...   INFO Found sTGC detector: sTG1-dummy 0x63b6a0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO length: 0 ysFrame: 0 ylFrame: 0
+MuGM:sTgcReadou...   INFO Volume Type: Trd
+MuGM:sTgcReadou...   INFO STS
+MuGM:sTgcReadou...   INFO Found sTGC Detector sTG1-dummy
+MuGM:sTgcReadou...   INFO firstPos: 0
+MuGM:sTgcReadou...   INFO initDesign:STS layer 0, strip pitch 3.2, nstrips 0
+MuGM:sTgcReadou...   INFO initDesign:STS layer 0, wireGang pitch 1.8, nWireGangs 0
+MuGM:sTgcReadou...   INFO initDesign stationname STS layer 0,pad phi angular width 0, eta pad size 0  Length: 0 sWidth: 0 lWidth: 0 firstPhiPos:0 padEtaMin:0 padEtaMax:0 firstRowPos:0 inputRowPitch:0 thickness:1 sPadWidth: 0 lPadWidth: 0 xFrame: 0 ysFrame: 0 ylFrame: 0 yCutout: 0
+ Willing to add sTGC RE with IdFields: iStName, iStEta, iStPhi, imL = 1 2 3 1
+ ... using internal indices  [0][5][5][0]
+ AtlasDetectorID::initialize_from_dictionary - OK 
+MmIdHelper           INFO MultiRange built successfully to Technology: MultiRange size is 218
+MmIdHelper           INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 257
+MmIdHelper           INFO MultiRange built successfully to channel: MultiRange size is 261
+MmIdHelper           INFO Initializing MicroMegas hash indices ... 
+MmIdHelper           INFO The element hash max is 64
+MmIdHelper           INFO The detector element hash max is 128
+MmIdHelper           INFO Initializing MicroMegas hash indices for finding neighbors ... 
+MuGM:MMReadoutE...   INFO initDesign:MMS layer 0, strip pitch 0, nstrips -2147483647
+ Willing to add MM RE with IdFields: iStName, iStEta, iStPhi, imL = 1 1 2 1
+ ... using internal indices  [0][4][3][0]
+MuGM:MMReadoutE...   INFO initDesign:MMS layer 0, strip pitch 0, nstrips -2147483647
+ Willing to add MM RE with IdFields: iStName, iStEta, iStPhi, imL = 1 1 3 1
+ ... using internal indices  [0][4][5][0]
+ AtlasDetectorID::initialize_from_dictionary - OK 
+test1
+trancoll 10 perscoll 10
+trancoll 10 perscoll 10
+ Before has size: 2, after has size: 2
+it1: 0x2a10e00 it1e 0 it2 0x2a43220 0
+Collection #1
+Collection #2
+it1 0x2a85c30 it2 0x2ab0500
+trancoll 10 perscoll 10
+trancoll 10 perscoll 10
+ Before has size: 2, after has size: 2
+it1: 0x2a10e00 it1e 0 it2 0x2a44d50 0
+Collection #1
+Collection #2
+it1 0x2a85c30 it2 0x29fc6c0
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcSimDigitData.h b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcSimDigitData.h
new file mode 100644
index 00000000000..cb1dc0e1112
--- /dev/null
+++ b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcSimDigitData.h
@@ -0,0 +1,44 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/** 
+ * Class for storing sTGC hit and digit information
+ *
+ */
+
+#ifndef STGC_DIGITIZATION_SIMDIGITDATA_H
+#define STGC_DIGITIZATION_SIMDIGITDATA_H
+
+#include "MuonSimData/MuonSimData.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+
+
+class sTgcSimDigitData 
+{
+public:
+    sTgcSimDigitData();
+    sTgcSimDigitData(const sTgcSimDigitData& simDigit);
+    sTgcSimDigitData(const MuonSimData& hit, const sTgcDigit& digit);
+    ~sTgcSimDigitData();
+
+    /// set SimData
+    void setSimData(MuonSimData hit) { m_sTGCSimData = hit; }
+
+    /// Set sTGC digit
+    void setSTGCDigit(sTgcDigit digit) { m_sTGCDigit = digit; }
+
+    /// Get the SimData
+    MuonSimData getSimData() const { return m_sTGCSimData; }
+
+    /// Get the sTGC digit
+    sTgcDigit getSTGCDigit() const { return m_sTGCDigit; }
+
+private:
+
+    MuonSimData m_sTGCSimData;
+    sTgcDigit m_sTGCDigit;
+
+};
+
+#endif
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcSimDigitData.cxx b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcSimDigitData.cxx
new file mode 100644
index 00000000000..e2aeb4644d8
--- /dev/null
+++ b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcSimDigitData.cxx
@@ -0,0 +1,25 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "sTGC_Digitization/sTgcSimDigitData.h"
+
+
+// Constructor
+sTgcSimDigitData::sTgcSimDigitData() { }
+
+sTgcSimDigitData::sTgcSimDigitData(const sTgcSimDigitData& simDigit) {
+
+    m_sTGCSimData = simDigit.getSimData();
+    m_sTGCDigit = simDigit.getSTGCDigit();
+}
+
+sTgcSimDigitData::sTgcSimDigitData(const MuonSimData& hit, const sTgcDigit& digit): 
+    m_sTGCSimData(hit),
+    m_sTGCDigit(digit)
+{
+}
+
+// Destructor
+sTgcSimDigitData::~sTgcSimDigitData() {}
+
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt100gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt100gev.sh
new file mode 100755
index 00000000000..b32472bd6b1
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt100gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt100GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_100GeV_task12089641.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt10gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt10gev.sh
new file mode 100755
index 00000000000..d2d444f1b50
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt10gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt10GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_10GeV_task12089631.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt1tev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt1tev.sh
new file mode 100755
index 00000000000..b8049f05fba
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt1tev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt1TeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_1TeV_task12089645.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt200gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt200gev.sh
new file mode 100755
index 00000000000..906c5a8f1f1
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt200gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt200GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_200GeV_task12089651.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt20gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt20gev.sh
new file mode 100755
index 00000000000..1d4accbc3ba
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt20gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt20GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_20GeV_task12089632.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt2tev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt2tev.sh
new file mode 100755
index 00000000000..7fcbfd76091
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt2tev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt2TeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_2TeV_task12089647.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3gev.sh
new file mode 100755
index 00000000000..1dc755b3ed3
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt3GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_3GeV_task12089572.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3tev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3tev.sh
new file mode 100755
index 00000000000..eefc568d8e4
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt3tev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt3TeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_3TeV_task12089649.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt500gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt500gev.sh
new file mode 100755
index 00000000000..35aeacfab2c
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt500gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt500GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_500GeV_task12089642.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt50gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt50gev.sh
new file mode 100755
index 00000000000..9805557c088
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt50gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt50GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_50GeV_task12089639.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt5gev.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt5gev.sh
new file mode 100755
index 00000000000..2993c7e31b3
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MooPerformance/test/test_singlemuon-mc12-pt5gev.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Art test job for MooPerformance package, migrated from RTT job: SingleMuons-mc12-Pt5GeV
+# 
+# art-type: grid
+# art-input: user.zhidong.SingleMuon_5GeV_task12089629.nopileup.HITStoRDO.r9707.20170907.v01_EXT0
+# art-input-nfiles: 10
+# art-output: trk*.txt
+
+fileList="['${ArtInFile//,/', '}¡¯]"
+
+athena.py -c 'from AthenaCommon.AthenaCommonFlags import athenaCommonFlags; athenaCommonFlags.EvtMax=20000; athenaCommonFlags.FilesInput = $fileList' -b MooPerformance/MooPerformance_topOptions.py
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_no_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_no_pileup.sh
new file mode 100755
index 00000000000..8e68ae9d580
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_no_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_JPsi_no_pileup
+#
+# art-type: grid
+# art-input: user.zhidong.valid1.424100.Pythia8B_A14_CTEQ6L1_Jpsimu4mu4.RDO.recon.no_pileup.e5112_s3195_tid12019932_01_EXT0
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=10000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.424100.Pythia8B_A14_CTEQ6L1_Jpsimu4mu4_no_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.424100.Pythia8B_A14_CTEQ6L1_Jpsimu4mu4_no_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_with_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_with_pileup.sh
new file mode 100755
index 00000000000..8e68ae9d580
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_jpsi_with_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_JPsi_no_pileup
+#
+# art-type: grid
+# art-input: user.zhidong.valid1.424100.Pythia8B_A14_CTEQ6L1_Jpsimu4mu4.RDO.recon.no_pileup.e5112_s3195_tid12019932_01_EXT0
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=10000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.424100.Pythia8B_A14_CTEQ6L1_Jpsimu4mu4_no_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.424100.Pythia8B_A14_CTEQ6L1_Jpsimu4mu4_no_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_no_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_no_pileup.sh
new file mode 100755
index 00000000000..e9645f30fbe
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_no_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_ttbar_no_pileup
+#
+# art-type: grid
+# art-input: user.zhidong.valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.recon.RDO.no_pileup.e4993_s3195_tid12020024_01_EXT0
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=10000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad_no_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad_no_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_with_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_with_pileup.sh
new file mode 100755
index 00000000000..5cbb7729882
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_ttbar_with_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_ttbar_with_pileup
+#
+# art-type: grid
+# art-input: valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.recon.RDO_TRIG.e4993_s3195_r9723_tid12020031_00
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=5000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad_with_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad_with_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_no_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_no_pileup.sh
new file mode 100755
index 00000000000..2ed30620713
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_no_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_Z_no_pileup
+#
+# art-type: grid
+# art-input: user.zhidong.valid1.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.recon.RDO.no_pileup.e5112_s3195_tid12019815_01_EXT0
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=10000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu_no_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu_no_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_with_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_with_pileup.sh
new file mode 100755
index 00000000000..60f5a3201a6
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_z_with_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_Z_with_pileup
+#
+# art-type: grid
+# art-input: valid1.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.recon.RDO_TRIG.e5112_s3195_r9723_tid12019822_00
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=5000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu_with_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu_with_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'	      
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_no_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_no_pileup.sh
new file mode 100755
index 00000000000..2eb19bbf118
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_no_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_ZPrime_no_pileup
+#
+# art-type: grid
+# art-input: user.zhidong.valid1.361405.Sherpa_CT10_Zmumu_Pt280_500_CVetoBVeto.recon.RDO.no_pileup.e5112_s3195_tid12019961_00_EXT0
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=10000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.361405.Sherpa_CT10_Zmumu_Pt280_500_CVetoBVeto_no_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.361405.Sherpa_CT10_Zmumu_Pt280_500_CVetoBVeto_no_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_with_pileup.sh b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_with_pileup.sh
new file mode 100755
index 00000000000..36539e7aecd
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonRecRTT/test/test_muonrecrtt_zprime_with_pileup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# art-description: Run reconstruction on a input RDO file, migrated from RTT job: MuonRecRTT_ZPrime_with_pileup
+#
+# art-type: grid
+# art-input: valid1.361405.Sherpa_CT10_Zmumu_Pt280_500_CVetoBVeto.recon.RDO_TRIG.e5112_s3195_r9723_tid12019967_00
+# art-input-nfiles: 10
+# art-input-split: 10
+
+echo "List of files = " ${ArtInFile}
+
+Reco_tf.py --maxEvents=5000 --inputRDOFile=${ArtInFile} --outputAODFile=valid1.361405.Sherpa_CT10_Zmumu_Pt280_500_CVetoBVeto_with_pileup.AOD.pool.root --outputNTUP_PHYSVALFile valid1.361405.Sherpa_CT10_Zmumu_Pt280_500_CVetoBVeto_with_pileup.PHYSVAL.root --validationFlags noExample doMuon --preExec 'from RecExConfig.RecFlags  import rec; rec.doTrigger=False; import MuonCombinedRecExample.MuonCombinedRecOnlySetup'
diff --git a/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/CMakeLists.txt b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/CMakeLists.txt
new file mode 100644
index 00000000000..d09e31f90dc
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/CMakeLists.txt
@@ -0,0 +1,33 @@
+################################################################################
+# Package: EgammaAnalysisHelpers
+################################################################################
+
+# Declare the package name:
+atlas_subdir(EgammaAnalysisHelpers )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs(
+  PUBLIC
+  Event/xAOD/xAODEgamma
+  PRIVATE
+  Control/AthToolSupport/AsgTools
+  Event/xAOD/xAODCaloEvent
+  ${extra_dep} )
+
+# External dependencies:
+find_package( ROOT COMPONENTS Core MathCore Hist MathMore )
+
+# Component(s) in the package:
+atlas_add_library( EgammaAnalysisHelpersLib
+  EgammaAnalysisHelpers/*.h Root/*.cxx
+  PUBLIC_HEADERS EgammaAnalysisHelpers
+  PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+  LINK_LIBRARIES xAODEgamma 
+  PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AsgTools xAODCaloEvent)
+
+atlas_add_dictionary( EgammaAnalysisHelpersDict
+  EgammaAnalysisHelpers/EgammaAnalysisHelpersDict.h
+  EgammaAnalysisHelpers/selection.xml
+  LINK_LIBRARIES EgammaAnalysisHelpersLib )
+
+
diff --git a/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/EgammaAnalysisHelpersDict.h b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/EgammaAnalysisHelpersDict.h
new file mode 100644
index 00000000000..bf7eaf83d49
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/EgammaAnalysisHelpersDict.h
@@ -0,0 +1,10 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef __EGAMMAANALYSISHELPERSDICT__
+#define __EGAMMAANALYSISHELPERSDICT__
+
+#include "EgammaAnalysisHelpers/PhotonHelpers.h"
+
+#endif
diff --git a/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/PhotonHelpers.h b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/PhotonHelpers.h
new file mode 100644
index 00000000000..3b05feaa04a
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/PhotonHelpers.h
@@ -0,0 +1,21 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Dear emacs, this is -*-c++-*-
+
+#ifndef __PHOTONHELPERS__
+#define __PHOTONHELPERS__
+
+// Atlas includes
+#include "xAODEgamma/PhotonFwd.h"
+#include <cstddef>
+
+namespace PhotonHelpers{
+  ///@brief Helper to ease the implemmantation of the pass Quality requirements
+  bool passOQquality(const xAOD::Photon *ph);
+  ///@brief Helpers to ease the implementation of the pass Quality requirements
+  bool passOQqualityDelayed(const xAOD::Photon *ph);
+}
+
+#endif
diff --git a/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/selection.xml b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/selection.xml
new file mode 100644
index 00000000000..979ffbfb2b6
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/EgammaAnalysisHelpers/selection.xml
@@ -0,0 +1,4 @@
+<lcgdict>
+<!--Add Helper Functions -->
+<function pattern="PhotonHelpers::*"/>
+</lcgdict>
diff --git a/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/Root/PhotonHelpers.cxx b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/Root/PhotonHelpers.cxx
new file mode 100644
index 00000000000..b2dc23c9172
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/EgammaAnalysisHelpers/Root/PhotonHelpers.cxx
@@ -0,0 +1,47 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "EgammaAnalysisHelpers/PhotonHelpers.h"
+#include "xAODEgamma/Photon.h"
+#include "xAODCaloEvent/CaloCluster.h"
+#include "xAODEgamma/EgammaxAODHelpers.h"
+#include "AsgTools/AsgMessaging.h"
+
+// ==================================================================
+bool PhotonHelpers::passOQquality(const xAOD::Photon *ph){
+
+  static const asg::AsgMessaging msg("PhotonHelpers");
+  if(!ph){
+    msg.msg(MSG::WARNING) << "No photon found!" << endmsg;
+    return 0;
+  }
+  
+  if( !( ( ph->OQ() & 1073741824 )!=0 ||
+	 ( ( ph->OQ() & 134217728 )!=0 &&
+	   ( ph->showerShapeValue(xAOD::EgammaParameters::Reta) > 0.98
+	    || ph->showerShapeValue(xAOD::EgammaParameters::f1) > 0.4
+	    || (ph->OQ() & 67108864) !=0)
+	   ) ) ){
+    return true;
+  } 
+  return false;
+}
+// ==================================================================
+bool PhotonHelpers::passOQqualityDelayed(const xAOD::Photon *ph){
+
+  static const asg::AsgMessaging msg("PhotonHelpers");
+  if(!ph){
+    msg.msg(MSG::WARNING) << "No photon found!" << endmsg;
+    return 0;
+  }
+  
+  if( !( ( ph->OQ() & 1073741824)!=0 ||
+	 ( ( ph->OQ() & 134217728)!=0 &&
+	   ( ph->showerShapeValue(xAOD::EgammaParameters::Reta) > 0.98
+	     || ph->showerShapeValue(xAOD::EgammaParameters::f1) > 0.4
+	     ) ) ) ) {
+    return true;
+  }
+  return false;
+}
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/AsgDeadHVCellRemovalTool.h b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/AsgDeadHVCellRemovalTool.h
new file mode 100644
index 00000000000..95f0c1460be
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/AsgDeadHVCellRemovalTool.h
@@ -0,0 +1,43 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Dear emacs, this is -*-c++-*-
+#ifndef __ASGDEADHVCELLREMOVALTOOL__
+#define __ASGDEADHVCELLREMOVALTOOL__
+
+#include "EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h"
+#include "AsgTools/AsgTool.h"
+#include "xAODEgamma/EgammaFwd.h"
+
+class AsgDeadHVCellRemovalTool : public asg::AsgTool,
+				 virtual public IAsgDeadHVCellRemovalTool
+{
+  ASG_TOOL_CLASS2(AsgDeadHVCellRemovalTool, 
+		  IAsgDeadHVCellRemovalTool,
+		  asg::IAsgTool)
+
+public: 
+  /** Standard constructor */
+  AsgDeadHVCellRemovalTool(std::string myname);
+
+  /** Standard destructor */
+  virtual ~AsgDeadHVCellRemovalTool();
+
+  /** Gaudi Service Interface method implementations */
+  virtual StatusCode initialize();
+
+  /** Gaudi Service Interface method implementations */
+  virtual StatusCode finalize();
+
+  virtual bool accept( const xAOD::Egamma* eg ) const final;
+
+  /** Accept using reference **/
+  virtual bool accept( const xAOD::Egamma& part ) const final ;
+
+private:
+
+}; // End: class definition
+
+#endif
+
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/IAsgDeadHVCellRemovalTool.h b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/IAsgDeadHVCellRemovalTool.h
new file mode 100644
index 00000000000..d3e957eb2f6
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/ElectronPhotonSelectorTools/IAsgDeadHVCellRemovalTool.h
@@ -0,0 +1,14 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Dear emacs, this is -*-c++-*-
+#ifndef __IASGDEADHVCELLREMOVALTOOL__
+#define __IASGDEADHVCELLREMOVALTOOL__
+
+#include "EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h"
+#pragma message "In the process of moving the Interface part under PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces"
+#pragma GCC warning "TODO: Use the headers from EgammaAnalysisInterfaces"
+
+#endif
+
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/Root/AsgDeadHVCellRemovalTool.cxx b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/Root/AsgDeadHVCellRemovalTool.cxx
new file mode 100644
index 00000000000..e9089d33605
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/Root/AsgDeadHVCellRemovalTool.cxx
@@ -0,0 +1,99 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "ElectronPhotonSelectorTools/AsgDeadHVCellRemovalTool.h"
+#include "xAODEgamma/Egamma.h"
+#include "xAODCaloEvent/CaloCluster.h"
+#include "xAODEventInfo/EventInfo.h"
+
+AsgDeadHVCellRemovalTool::AsgDeadHVCellRemovalTool(std::string myname) :
+  asg::AsgTool(myname){
+}
+
+AsgDeadHVCellRemovalTool::~AsgDeadHVCellRemovalTool(){
+}
+
+StatusCode AsgDeadHVCellRemovalTool::initialize(){
+  return StatusCode::SUCCESS ;
+}
+
+StatusCode AsgDeadHVCellRemovalTool::finalize(){
+  return StatusCode::SUCCESS;
+}
+
+bool AsgDeadHVCellRemovalTool::accept( const xAOD::Egamma* eg ) const{
+  
+  if ( !eg ){
+    ATH_MSG_ERROR ("Failed, no egamma object.");
+    return false;
+  }
+  
+  const xAOD::CaloCluster* cluster = eg->caloCluster();  
+  if ( !cluster ){
+    ATH_MSG_ERROR ("Failed, cluster.");
+    return false;
+  }  
+
+  const xAOD::EventInfo *eventInfo = evtStore()->retrieve< const xAOD::EventInfo> ("EventInfo");
+  bool isSimul= eventInfo->eventType(xAOD::EventInfo::IS_SIMULATION);
+  
+  unsigned int runnumber (0);
+  static const SG::AuxElement::ConstAccessor<unsigned int> randomrunnumber("RandomRunNumber");
+  static const SG::AuxElement::ConstAccessor<unsigned int> datarunnumber("runNumber");
+  
+  if(!isSimul&& datarunnumber.isAvailable(*eventInfo) ){
+    runnumber = datarunnumber(*eventInfo);
+  }
+  else if(isSimul && randomrunnumber.isAvailable(*eventInfo) ){
+    runnumber = randomrunnumber(*eventInfo);
+  }
+  else {
+    ATH_MSG_ERROR ("Failed, to retrieve the proper run number from event info");
+    return false;
+  }
+  
+  double eta_calo;
+  double phi_calo;
+  if (! cluster->retrieveMoment(xAOD::CaloCluster::ETACALOFRAME,eta_calo) || 
+      ! cluster->retrieveMoment(xAOD::CaloCluster::PHICALOFRAME,phi_calo)){
+    ATH_MSG_ERROR ("Could not get Eta/Phi in calo frame");
+    return false;
+  }
+  
+  if ((runnumber>=296939 && runnumber<298967) || 
+      (runnumber>=299144 && runnumber<300279)){
+    
+    if (   eta_calo > - 1.825 
+	   && eta_calo < -1.5  
+	   && phi_calo > -1.104921 
+	   && phi_calo < -0.956748){
+      return false;
+    }
+  } 
+  
+  if ((runnumber>=298967 && runnumber<299144 ) || 
+      (runnumber>=300279 && runnumber< 305291)){
+    
+    if (eta_calo > - 1.825 
+	&& eta_calo < -1.5  
+	&& phi_calo > -1.104921 
+	&& phi_calo < -0.956748){
+      return false;
+    }
+    
+    if (eta_calo> - 1.825 
+	&& eta_calo < -1.5  
+	&& phi_calo > 1.054922 
+	&& phi_calo < 1.203097){
+      return false;
+    }
+  }
+  
+  return true ;
+}
+
+bool AsgDeadHVCellRemovalTool::accept( const xAOD::Egamma& part ) const{
+  return accept (&part);
+}
+
diff --git a/PhysicsAnalysis/ElectronPhotonID/PhotonEfficiencyCorrection/src/components/PhotonEfficiencyCorrection_load.cxx b/PhysicsAnalysis/ElectronPhotonID/PhotonEfficiencyCorrection/src/components/PhotonEfficiencyCorrection_load.cxx
new file mode 100644
index 00000000000..7a66e563646
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/PhotonEfficiencyCorrection/src/components/PhotonEfficiencyCorrection_load.cxx
@@ -0,0 +1,2 @@
+#include "GaudiKernel/LoadFactoryEntries.h"
+LOAD_FACTORY_ENTRIES(PhotonEfficiencyCorrection)
diff --git a/PhysicsAnalysis/ElectronPhotonID/PhotonVertexSelection/src/components/PhotonVertexSelection_load.cxx b/PhysicsAnalysis/ElectronPhotonID/PhotonVertexSelection/src/components/PhotonVertexSelection_load.cxx
new file mode 100644
index 00000000000..50a7acfbe9e
--- /dev/null
+++ b/PhysicsAnalysis/ElectronPhotonID/PhotonVertexSelection/src/components/PhotonVertexSelection_load.cxx
@@ -0,0 +1,5 @@
+// Gaudi/Athena include(s):
+#include "GaudiKernel/LoadFactoryEntries.h"
+
+// Declare the library to the infrastructure:
+LOAD_FACTORY_ENTRIES(PhotonVertexSelection)
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/CMakeLists.txt b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/CMakeLists.txt
new file mode 100644
index 00000000000..d584bbc81cf
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/CMakeLists.txt
@@ -0,0 +1,29 @@
+# The name of the package:
+atlas_subdir( EgammaAnalysisInterfaces )
+
+# The dependencies of the package:
+atlas_depends_on_subdirs(
+   PUBLIC
+   Control/AthToolSupport/AsgTools
+   Event/xAOD/xAODEgamma
+   PhysicsAnalysis/AnalysisCommon/PATInterfaces 
+   PhysicsAnalysis/AnalysisCommon/PATCore
+)
+
+# External(s):
+find_package( ROOT COMPONENTS Core )
+
+# Component(s) in the package:
+atlas_add_library( EgammaAnalysisInterfacesLib
+   EgammaAnalysisInterfaces/*.h
+   INTERFACE
+   PUBLIC_HEADERS EgammaAnalysisInterfaces
+   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AsgTools xAODEgamma PATInterfaces PATCoreLib)
+
+atlas_add_dictionary( EgammaAnalysisInterfacesDict
+   EgammaAnalysisInterfaces/EgammaAnalysisInterfacesDict.h
+   EgammaAnalysisInterfaces/selection.xml
+   LINK_LIBRARIES EgammaAnalysisInterfacesLib )
+
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfacesDict.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfacesDict.h
new file mode 100644
index 00000000000..7b91c9c6b9b
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfacesDict.h
@@ -0,0 +1,25 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef __EGAMMAANALYSISINTERRFACESDICT__
+#define __EGAMMAANALYSISINTERRFACESDICT__
+#include "EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h"
+#include "EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h"
+#include "EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h"
+#include "EgammaAnalysisInterfaces/IAsgElectronMultiLeptonSelector.h"
+#include "EgammaAnalysisInterfaces/IAsgForwardElectronIsEMSelector.h"
+#include "EgammaAnalysisInterfaces/IAsgPhotonIsEMSelector.h"
+#include "EgammaAnalysisInterfaces/IEGammaAmbiguityTool.h"
+#include "EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h"
+
+#include "EgammaAnalysisInterfaces/IAsgElectronEfficiencyCorrectionTool.h"
+
+#include "EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h"
+
+#include "EgammaAnalysisInterfaces/IAsgPhotonEfficiencyCorrectionTool.h"
+
+#include "EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h"
+
+
+#endif
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h
new file mode 100644
index 00000000000..ed86179af7a
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgDeadHVCellRemovalTool.h
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Dear emacs, this is -*-c++-*-
+#ifndef EGAMMAANALYSISINTERFACES__IASGDEADHVCELLREMOVALTOOL__
+#define EGAMMAANALYSISINTERFACES__IASGDEADHVCELLREMOVALTOOL__
+
+#include "AsgTools/IAsgTool.h"
+#include "xAODEgamma/EgammaFwd.h"
+
+class IAsgDeadHVCellRemovalTool : virtual public asg::IAsgTool
+{
+  ASG_TOOL_INTERFACE(IAsgDeadHVCellRemovalTool)
+public:
+
+  /**Virtual Destructor*/
+  virtual ~IAsgDeadHVCellRemovalTool() {};
+
+  virtual bool accept( const xAOD::Egamma* part ) const = 0;
+
+  virtual bool accept( const xAOD::Egamma& part ) const = 0;
+
+}; 
+// End: class definition
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h
new file mode 100644
index 00000000000..a97bead9e8a
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h
@@ -0,0 +1,71 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Dear emacs, this is -*-c++-*-
+
+#ifndef EGAMMAANALYSISINTERFACES__IASGEGAMMAISEMSELECTOR__
+#define EGAMMAANALYSISINTERFACES__IASGEGAMMAISEMSELECTOR__
+
+/**
+   @class IAsgEGammaIsEMSelector
+   @brief Interface to tool to select photons
+
+   @author Jovan Mitrevski (UCSC) Karsten Koeneke (CERN)
+   @date   Dec 2011 - Fab 2012
+
+   11-MAR-2014, convert to ASGTool
+*/
+
+// Include the interfaces
+#include "PATCore/IAsgSelectionTool.h"
+// Forward declarations
+namespace Root{
+  class TAccept;
+}
+#include "xAODEgamma/EgammaFwd.h"
+#include "xAODEgamma/PhotonFwd.h"
+#include "xAODEgamma/ElectronFwd.h"
+
+class IAsgEGammaIsEMSelector : virtual public IAsgSelectionTool
+{
+
+  ASG_TOOL_INTERFACE(IAsgEGammaIsEMSelector)
+
+public:
+
+  /// @name IAsgEGammaIsEMSelector methods in Addition to the IAsgSelectionTool
+  /// @{
+
+  /// accept with pointer to  IParticle  so as to not hide the IAsgSelectionTool one
+  virtual const Root::TAccept& accept( const xAOD::IParticle* part ) const = 0;
+
+
+  /// accept with pointer to Egamma object 
+  virtual const Root::TAccept& accept( const xAOD::Egamma* part) const = 0;
+
+  /// accept with Photon pointer
+  virtual const Root::TAccept& accept( const xAOD::Photon* part ) const = 0;
+
+  /// accept with Electron reference
+  virtual const Root::TAccept& accept( const xAOD::Electron* part ) const = 0;
+
+  ///Add a legacy execute method 
+  virtual StatusCode execute(const xAOD::Egamma* eg) const =0;
+
+  ///Return the egamma IsEM decision as unsigned int
+  virtual unsigned int IsemValue() const =0;
+
+  /// Report the current operating point
+  virtual std::string getOperatingPointName( ) const =0;
+
+  ///@}
+
+  /// Virtual Destructor
+  virtual ~IAsgEGammaIsEMSelector() {};
+
+}; 
+
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronEfficiencyCorrectionTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronEfficiencyCorrectionTool.h
new file mode 100644
index 00000000000..4a76f71b96e
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronEfficiencyCorrectionTool.h
@@ -0,0 +1,32 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+//IAsgElectronEfficiencyCorrection.h to be used in the tool.
+#ifndef EGAMMAANALYSISINTERFACES__IASGELECTRONEFFICIENCYCORRECTION__
+#define EGAMMAANALYSISINTERFACES__IASGELECTRONEFFICIENCYCORRECTION__
+
+#include "AsgTools/IAsgTool.h"
+#include "xAODEgamma/ElectronFwd.h"
+#include "PATInterfaces/CorrectionCode.h"
+#include "PATInterfaces/ISystematicsTool.h"
+namespace xAOD{
+  class IParticle;
+}
+
+
+class IAsgElectronEfficiencyCorrectionTool : virtual public CP::ISystematicsTool
+{
+  ASG_TOOL_INTERFACE(IAsgElectronEfficiencyCorrectionTool)
+
+  public:
+  ///The interface for Scale Factors
+  virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::Electron& inputObject, double& efficiencyScaleFactor) const = 0;
+  virtual CP::CorrectionCode applyEfficiencyScaleFactor(const xAOD::Electron& inputObject) const = 0;
+  virtual int systUncorrVariationIndex( const xAOD::Electron &inputObject) const =0;
+  virtual ~IAsgElectronEfficiencyCorrectionTool() {}
+
+};
+
+
+#endif
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h
new file mode 100644
index 00000000000..6eb90a2e991
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h
@@ -0,0 +1,52 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Dear emacs, this is -*-c++-*-
+
+#ifndef EGAMMAANALYSISINTERFACES__IASGELECTRONISEMSELECTOR__
+#define EGAMMAANALYSISINTERFACES__IASGELECTRONISEMSELECTOR__
+
+/**
+   @class IAsgElectronIsEMSelector
+   @brief Interface to tool to select electrons
+
+   @author Jovan Mitrevski (UCSC) Karsten Koeneke (CERN)
+   @date   Dec 2011 - Fab 2012
+
+   11-MAR-2014, convert to ASGTool
+*/
+
+// Include the interfaces
+#include "PATCore/IAsgSelectionTool.h"
+#include "EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h"
+// Forward declarations
+namespace Root{
+  class TAccept;
+}
+#include "xAODEgamma/ElectronFwd.h"
+#include "xAODEgamma/PhotonFwd.h"
+#include "xAODEgamma/EgammaFwd.h"
+
+class IAsgElectronIsEMSelector : virtual public IAsgEGammaIsEMSelector
+{
+
+  ASG_TOOL_INTERFACE(IAsgElectronIsEMSelector)
+  
+  public:
+
+  /// @name IAsgElectronIsEMSelector methods in Addition to the IAsgEGammaIsEMSelector ones
+  /// @{
+  /// It adds no new methods to the IAsgEGammaIsEMSelector interface 
+  ///@}
+
+  /// Virtual Destructor
+  virtual ~IAsgElectronIsEMSelector() {};
+
+
+
+}; // End: class definition
+
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h
new file mode 100644
index 00000000000..f011cb07048
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronLikelihoodTool.h
@@ -0,0 +1,83 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef EGAMMAANALYSISINTERFACES__IASGELECTRONLIKELIHOODSELECTOR__
+#define EGAMMAANALYSISINTERFACES__IASGELECTRONLIKELIHOODSELECTOR__
+
+/**
+   @class IAsgElectronLikelihoodTool
+   @brief Interface to tool to select electrons
+
+   12-MAR-2014, convert to ASG tool
+
+*/
+
+// Include the interfaces
+#include "PATCore/IAsgSelectionTool.h"
+// Forward declarations
+namespace Root{
+  class TAccept;
+  class TResult;
+}
+#include "xAODEgamma/ElectronFwd.h"
+#include "xAODEgamma/EgammaFwd.h"
+
+class IAsgElectronLikelihoodTool : virtual public IAsgSelectionTool
+{
+
+  ASG_TOOL_INTERFACE(IAsgElectronLikelihoodTool)
+
+ public:
+
+  /// @name IAsgElectronLikelihoodTool  methods in Addition to the IAsgSelectionTool ones
+  /// Some are there to mainly support the calls done from the online/Trigger side 
+  /// @{
+
+  /// accept with pointer to  IParticle  so as to not hide the IAsgSelectionTool one
+  virtual const Root::TAccept& accept( const xAOD::IParticle* part ) const = 0;
+
+  /// accept method with pointer to electron 
+  virtual const Root::TAccept& accept( const xAOD::Electron* part ) const = 0;
+
+  /// accept method with pointer to electron  when mu not in EventInfo for online 
+  virtual const Root::TAccept& accept( const xAOD::Electron* part, double mu ) const = 0;
+
+  /// accept method with pointer to  egamma 
+  virtual const Root::TAccept& accept( const xAOD::Egamma* part ) const = 0;
+
+  /// accept method with pointer to egammma when mu not in EventInfo for online 
+  virtual const Root::TAccept& accept( const xAOD::Egamma* part, double mu ) const = 0;
+
+  /// TResult method: for pointer to IParticle
+  virtual const Root::TResult& calculate( const xAOD::IParticle* part ) const = 0;
+
+  /// TResult method: for pointer to electron
+  virtual const Root::TResult& calculate( const xAOD::Electron* eg ) const = 0;
+
+  /// TResult method: for pointer to egamma 
+  virtual const Root::TResult& calculate( const xAOD::Egamma* eg ) const = 0;
+
+  /// TResult method: for pointer to electron  when mu not in EventInfo for online
+  virtual const Root::TResult& calculate( const xAOD::Electron* eg, double mu ) const = 0;
+
+  /// TResult method: for pointer to egamma when mu not in EventInfo for online
+  virtual const Root::TResult& calculate( const xAOD::Egamma* eg, double mu ) const = 0;
+
+  // Just return the TResult 
+  virtual const Root::TResult& getTResult( ) const=0;
+
+  ///Method to get the operating point 
+  virtual std::string getOperatingPointName( ) const =0;
+
+  ///@}
+
+  /// Virtual Destructor
+  virtual ~IAsgElectronLikelihoodTool() {};
+
+}; // End: class definition
+
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronMultiLeptonSelector.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronMultiLeptonSelector.h
new file mode 100644
index 00000000000..bd4914c649c
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgElectronMultiLeptonSelector.h
@@ -0,0 +1,50 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EGAMMAANALYSISINTERFACES__IASGELECTRONMULTILEPTONSELECTOR__
+#define EGAMMAANALYSISINTERFACES__IASGELECTRONMULTILEPTONSELECTOR__
+
+/**
+   @class IAsgElectronMultiLeptonSelector
+   @brief Interface to tool to select electrons
+
+   12-MAR-2014, convert to ASG tool
+
+*/
+// Include the interfaces
+#include "PATCore/IAsgSelectionTool.h"
+// Forward declarations
+namespace Root{
+  class TAccept;
+}
+#include "xAODEgamma/ElectronFwd.h"
+
+class IAsgElectronMultiLeptonSelector : virtual public IAsgSelectionTool
+{
+
+  ASG_TOOL_INTERFACE(IAsgElectronMultiLeptonSelector)
+
+public:
+
+  /// @name IAsgElectronMultiLeptonSelector methods in addition to the IAsgSelectionTool ones
+  ///{@
+
+  /// accept with pointer to  IParticle  so as to not hide the IAsgSelectionTool one
+  virtual const Root::TAccept& accept( const xAOD::IParticle* part ) const = 0;
+
+  /// accept method with pointer to electron */
+  virtual const Root::TAccept& accept( const xAOD::Electron* part ) const = 0;
+
+  ///Method to get the operating point */
+  virtual std::string getOperatingPointName( ) const=0;
+
+  ///@}
+
+  ///Virtual Destructor*/
+  virtual ~IAsgElectronMultiLeptonSelector() {};
+
+}; // End: class definition
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgForwardElectronIsEMSelector.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgForwardElectronIsEMSelector.h
new file mode 100644
index 00000000000..e34ea5e6518
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgForwardElectronIsEMSelector.h
@@ -0,0 +1,50 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EGAMMAANALYSISINTERFACES__IASGFORWARDELECTRONISEMSELECTOR__
+#define EGAMMAANALYSISINTERFACES__IASGFORWARDELECTRONISEMSELECTOR__
+
+/**
+   @class IAsgForwardElectronIsEMSelector
+   @brief Interface to tool to select electrons
+
+   @author Jovan Mitrevski (UCSC) Karsten Koeneke (CERN)
+   @date   Dec 2011 - Fab 2012
+
+   11-MAR-2014, convert to ASGTool
+*/
+
+// Include the interfaces
+#include "PATCore/IAsgSelectionTool.h"
+#include "EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h"
+
+// Forward declarations
+namespace Root{
+  class TAccept;
+}
+#include "xAODEgamma/ElectronFwd.h"
+#include "xAODEgamma/PhotonFwd.h"
+#include "xAODEgamma/EgammaFwd.h"
+
+class IAsgForwardElectronIsEMSelector : virtual public IAsgEGammaIsEMSelector
+{
+
+  ASG_TOOL_INTERFACE(IAsgForwardElectronIsEMSelector)
+  
+  public:
+
+  /// @name IAsgForwardElectronIsEMSelector methods in Addition to the IAsgEGammaIsEMSelector ones
+  /// @{
+  /// It adds no new methods to the IAsgEGammaIsEMSelector interface 
+  ///@}
+
+  /// Virtual Destructor
+  virtual ~IAsgForwardElectronIsEMSelector() {};
+
+
+}; // End: class definition
+
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonEfficiencyCorrectionTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonEfficiencyCorrectionTool.h
new file mode 100644
index 00000000000..aa3a1000b38
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonEfficiencyCorrectionTool.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+//IAsgPhotonEfficiencyCorrection.h to be used in the tool.
+#ifndef EGAMMAANALYSISINTERFACES__IASGPHOTONEFFICIENCYCORRECTION__
+#define EGAMMAANALYSISINTERFACES__IASGPHOTONEFFICIENCYCORRECTION__
+
+// Framework include(s):
+#include "AsgTools/IAsgTool.h"
+// EDM include(s):
+#include "xAODEgamma/Egamma.h"
+
+// Local include(s):
+#include "PATInterfaces/CorrectionCode.h"
+#include "PATInterfaces/ISystematicsTool.h"
+
+namespace xAOD{
+  class IParticle;
+}
+
+class IAsgPhotonEfficiencyCorrectionTool : virtual public asg::IAsgTool, virtual public CP::ISystematicsTool
+{
+  ASG_TOOL_INTERFACE(IAsgPhotonEfficiencyCorrectionTool)
+
+  public:  
+  //virtual StatusCode initialize() = 0;
+  
+  /// Get the "photon scale factor" as a return value
+  virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::Egamma&, double&) const = 0;
+  
+  /// Get the "photon scale factor error" as a return value
+  virtual CP::CorrectionCode getEfficiencyScaleFactorError(const xAOD::Egamma&, double&) const = 0;
+  
+  /// Decorate the photon with its scale factor
+  virtual CP::CorrectionCode applyEfficiencyScaleFactor(xAOD::Egamma&) const = 0;
+  
+  virtual ~IAsgPhotonEfficiencyCorrectionTool() {}  
+}; // class IAsgPhotonEfficiencyCorrectionTool
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonIsEMSelector.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonIsEMSelector.h
new file mode 100644
index 00000000000..1d80bae9098
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IAsgPhotonIsEMSelector.h
@@ -0,0 +1,49 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EGAMMAANALYSISINTERFACES__IASGPHOTONISEMSELECTOR__
+#define EGAMMAANALYSISINTERFACES__IASGPHOTONISEMSELECTOR__
+
+/**
+   @class IAsgPhotonIsEMSelector
+   @brief Interface to tool to select photons
+
+   @author Jovan Mitrevski (UCSC) Karsten Koeneke (CERN)
+   @date   Dec 2011 - Fab 2012
+
+   11-MAR-2014, convert to ASGTool
+*/
+
+// Include the interfaces
+#include "PATCore/IAsgSelectionTool.h"
+#include "EgammaAnalysisInterfaces/IAsgEGammaIsEMSelector.h"
+
+// Forward declarations
+namespace Root{
+  class TAccept;
+}
+#include "xAODEgamma/EgammaFwd.h"
+#include "xAODEgamma/PhotonFwd.h"
+#include "xAODEgamma/ElectronFwd.h"
+
+class IAsgPhotonIsEMSelector : virtual public IAsgEGammaIsEMSelector
+{
+
+  ASG_TOOL_INTERFACE(IAsgPhotonIsEMSelector)
+
+public:
+
+  /// @name IAsgPhotonIsEMSelector methods in Addition to the IAsgEGammaIsEMSelector ones
+  /// @{
+  /// It adds no new methods to the IAsgEGammaISEMSelector Interface
+  ///@}
+
+  /// Virtual Destructor
+  virtual ~IAsgPhotonIsEMSelector() {};
+ 
+}; // End: class definition
+
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEGammaAmbiguityTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEGammaAmbiguityTool.h
new file mode 100644
index 00000000000..0c3f9678cd7
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEGammaAmbiguityTool.h
@@ -0,0 +1,82 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EGAMMAANALYSISINTERFACES__IEGammaAmbiguityTool__
+#define EGAMMAANALYSISINTERFACES__IEGammaAmbiguityTool__
+
+/**
+   @class EGammaAmbiguityTool
+   @brief Electron / photon ambiguity resolution. Dual-use version, interface
+
+   @author Bruno Lenzi
+   @date   May 2015
+*/
+
+// Include the interfaces
+#include "AsgTools/IAsgTool.h"
+
+// Forward declarations
+#include "xAODCaloEvent/CaloClusterFwd.h"
+#include "xAODTracking/VertexFwd.h"
+#include "xAODTracking/TrackParticleFwd.h"
+#include "xAODEgamma/EgammaFwd.h"
+#include "xAODEgamma/EgammaContainerFwd.h"
+
+//This will need to be copied over to EgammaEnums.h
+//under xAODEgamma
+//Plus Set/Get true Accessor methods when we have 
+//finalise the design.
+namespace xAOD {
+  namespace AmbiguityTool {
+    /// @name Ambiguity types
+    enum AmbiguityType {
+      electron = 0,
+      ambiguousTrackEoverPBetterThanVertexEoverP=1,
+      ambiguousTrackLowPt=2,
+      ambiguousTrackHighEoverP=3,
+      ambiguousTrackNoPixel =4,
+      ambiguousVertexEoverPBetterThanTrackEoverP=5,
+      photon=6,
+      unknown=7
+    };
+  }
+}
+
+
+
+class IEGammaAmbiguityTool : virtual public asg::IAsgTool
+{
+  ASG_TOOL_INTERFACE(IEGammaAmbiguityTool)
+
+public:
+
+  /**Virtual Destructor*/
+  virtual ~IEGammaAmbiguityTool() {};
+
+  /** Return value: AuthorElectron, AuthorPhoton, AuthorAmbiguous, AuthorUnknown */
+  virtual unsigned int ambiguityResolve(const xAOD::CaloCluster* cluster,
+                                        const xAOD::Vertex* vx,
+                                        const xAOD::TrackParticle* tp, xAOD::AmbiguityTool::AmbiguityType& type) const = 0;
+
+  /** Return value: AuthorElectron, AuthorPhoton, AuthorAmbiguous, AuthorUnknown 
+      Needed because of cliets
+      implementation calls method above
+   */
+  virtual unsigned int ambiguityResolve(const xAOD::CaloCluster* cluster,
+                                        const xAOD::Vertex* vx,
+                                        const xAOD::TrackParticle* tp) const = 0;
+
+  /** Redo the ambiguity resolution of central electrons and photons and return
+    * AuthorElectron, AuthorPhoton, AuthorAmbiguous, AuthorUnknown 
+    * or the author of the object if no overlapping object is found **/
+  virtual unsigned int ambiguityResolve(const xAOD::Egamma& egamma) const = 0;
+
+  /** Accept or reject egamma object based on ambiguity resolution */
+  virtual bool accept( const xAOD::Egamma& egamma) const = 0;
+  
+}; // End: class definition
+
+
+#endif
+
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h
new file mode 100644
index 00000000000..f8fc1fd9285
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h
@@ -0,0 +1,54 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef EGAMMAANALYSISINTERFACES__IEGAMMA_CALIB_TOOL_H_
+#define EGAMMAANALYSISINTERFACES__IEGAMMA_CALIB_TOOL_H_
+
+#include "AsgTools/IAsgTool.h"
+//xAOD
+#include "xAODEgamma/ElectronFwd.h"
+#include "xAODEgamma/PhotonFwd.h"
+#include "xAODEgamma/EgammaFwd.h"
+#include "PATInterfaces/CorrectionCode.h"
+#include "PATInterfaces/ISystematicsTool.h"
+// PAT includes
+#include "PATCore/PATCoreEnums.h"
+
+
+namespace EgammaCalibPeriodRunNumbersExample {
+  const int run_2016 = 297730;
+  const int run_2015 = 252604;
+  struct ROOT6_NamespaceAutoloadHook{};
+}
+
+
+namespace CP {
+
+  class IEgammaCalibrationAndSmearingTool : public CP::ISystematicsTool{
+    /// Declare the interface that the class provides
+    ASG_TOOL_INTERFACE( IEgammaCalibrationAndSmearingTool )
+    public:
+    
+    virtual ~IEgammaCalibrationAndSmearingTool() {};
+    
+    virtual StatusCode initialize() = 0;
+    
+    //Apply the correction on a modifyable egamma object (xAOD::Electron or xAOD::Photon)
+    virtual CP::CorrectionCode applyCorrection(xAOD::Egamma &) = 0;
+    
+    //Create a corrected copy from a constant egamma object
+    virtual CP::CorrectionCode correctedCopy(const xAOD::Electron&, xAOD::Electron*&) = 0;
+    virtual CP::CorrectionCode correctedCopy(const xAOD::Photon&, xAOD::Photon*&) = 0;
+    
+    //functions to be used per-event
+    virtual void setRandomSeed(unsigned seed) = 0;
+    
+    virtual double resolution( double energy, double cl_eta, double cl_etaCalo,
+			       PATCore::ParticleType::Type ptype = PATCore::ParticleType::Electron, bool withCT=false) const = 0;
+    virtual double getResolution(const xAOD::Egamma& particle, bool withCT=true) const = 0;
+  };
+  
+}
+#endif
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h
new file mode 100644
index 00000000000..25fde02ba2c
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IElectronPhotonShowerShapeFudgeTool.h
@@ -0,0 +1,49 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EGAMMAANALYSISINTERFACES_IELECTRONPHOTONSHOWERSHAPEFUDGETOOL_H
+#define EGAMMAANALYSISINTERFACES_IELECTRONPHOTONSHOWERSHAPEFUDGETOOL_H
+
+/**
+   @class AsgFudgeMCTool
+   @brief Tool to fudge photon MC shower shapes.
+
+   @author Rob Roy Fletcher (University of Pennsylvania) rob.fletcher@cern.ch
+   @date   August 2014
+
+
+*/
+
+// Framework include(s):
+#include "AsgTools/IAsgTool.h"
+
+// EDM include(s):
+#include "xAODEgamma/EgammaFwd.h"
+#include "xAODEgamma/PhotonFwd.h"
+#include "xAODEgamma/ElectronFwd.h"
+
+// Local include(s):
+#include "PATInterfaces/CorrectionCode.h"
+
+
+class IElectronPhotonShowerShapeFudgeTool : public virtual asg::IAsgTool {
+
+   /// Declare the interface that the class provides
+   ASG_TOOL_INTERFACE(IElectronPhotonShowerShapeFudgeTool)
+
+public:
+   /// Apply the correction on a modifyable object
+   virtual const CP::CorrectionCode applyCorrection(xAOD::Photon& ph ) const = 0;
+
+   virtual const CP::CorrectionCode applyCorrection(xAOD::Electron& el ) const = 0;
+
+   virtual const CP::CorrectionCode correctedCopy( const xAOD::Photon& ph, xAOD::Photon*& output ) const = 0;
+
+   virtual const CP::CorrectionCode correctedCopy( const xAOD::Electron& el, xAOD::Electron*& output ) const = 0;
+
+
+
+}; // class IElectronPhotonShowerShapeFudgeTool
+
+#endif // _IASGFUDGEMCTOOL_H
diff --git a/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/selection.xml b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/selection.xml
new file mode 100644
index 00000000000..042c1d9ed00
--- /dev/null
+++ b/PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/selection.xml
@@ -0,0 +1,21 @@
+<lcgdict>
+  <class name="IAsgEGammaIsEMSelector" /> 
+  <class name="IAsgElectronIsEMSelector" /> 
+  <class name="IAsgForwardElectronIsEMSelector" /> 
+  <class name="IAsgPhotonIsEMSelector" />
+  <class name="IAsgElectronMultiLeptonSelector" /> 
+  <class name="IAsgElectronLikelihoodTool" /> 
+  <class name="IEGammaAmbiguityTool" />
+  <class name="IAsgDeadHVCellRemovalTool" /> 
+
+  <class name="IAsgElectronEfficiencyCorrectionTool" /> 
+
+  <class name="IEgammaCalibrationAndSmearingTool" />   
+  <variable pattern="EgammaCalibPeriodRunNumbersExample::*"/>
+  <class name="EgammaCalibPeriodRunNumbersExample::ROOT6_NamespaceAutoloadHook" /> 
+
+  <class name="IAsgPhotonEfficiencyCorrectionTool" /> 
+
+  <class name="IElectronPhotonShowerShapeFudgeTool" /> 
+
+<lcgdict>
diff --git a/Projects/AthDataQuality/CMakeLists.txt b/Projects/AthDataQuality/CMakeLists.txt
new file mode 100644
index 00000000000..b72b788171c
--- /dev/null
+++ b/Projects/AthDataQuality/CMakeLists.txt
@@ -0,0 +1,87 @@
+
+# Set the minimum required CMake version:
+cmake_minimum_required( VERSION 3.2 FATAL_ERROR )
+
+# Read in the project's version from a file called version.txt. But let it be
+# overridden from the command line if necessary.
+file( READ ${CMAKE_SOURCE_DIR}/version.txt _version )
+string( STRIP ${_version} _version )
+set( ATHDATAQUALITY_PROJECT_VERSION ${_version}
+   CACHE STRING "Version of the AthDataQuality project to build" )
+unset( _version )
+
+# Set the version of tdaq-common to use for the build:
+set( TDAQ-COMMON_VERSION "02-04-00" )
+set( TDAQ-COMMON_ROOT
+   "$ENV{TDAQ_RELEASE_BASE}/tdaq-common/tdaq-common-${TDAQ-COMMON_VERSION}" )
+
+# Set the version of dqm-common to use for the build:
+set( DQM-COMMON_VERSION "01-04-00" )
+set( DQM-COMMON_ROOT
+   "$ENV{TDAQ_RELEASE_BASE}/dqm-common/dqm-common-${DQM-COMMON_VERSION}" )
+
+# Pick up the AtlasCMake code:
+find_package( AtlasCMake REQUIRED )
+
+# Build the project against LCG:
+set( LCG_VERSION_POSTFIX ""
+   CACHE STRING "Version postfix for the LCG release to use" )
+set( LCG_VERSION_NUMBER 91
+   CACHE STRING "Version number for the LCG release to use" )
+find_package( LCG ${LCG_VERSION_NUMBER} EXACT REQUIRED )
+
+#find_package( ROOT )
+find_package( Xrootd )
+find_package( GSL )
+
+# Make CMake find the project specific code we have here:
+list( INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/modules )
+
+# Set up CTest:
+atlas_ctest_setup()
+
+# Set up a work directory project:
+atlas_project( AthDataQuality ${ATHDATAQUALITY_PROJECT_VERSION}
+   PROJECT_ROOT ${CMAKE_SOURCE_DIR}/../../ )
+
+# Generate the environment setup for the externals, to be used during the build:
+lcg_generate_env( SH_FILE ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}/env_setup.sh )
+
+# Generate replacement rules for the installed paths:
+set( _replacements )
+if( NOT "$ENV{NICOS_PROJECT_HOME}" STREQUAL "" )
+   get_filename_component( _buildDir $ENV{NICOS_PROJECT_HOME} PATH )
+   list( APPEND _replacements ${_buildDir} "\${Athena_DIR}/../../../.." )
+endif()
+if( NOT "$ENV{NICOS_PROJECT_RELNAME}" STREQUAL "" )
+   list( APPEND _replacements $ENV{NICOS_PROJECT_RELNAME}
+      "\${Athena_VERSION}" )
+endif()
+if( NOT "$ENV{TDAQ_RELEASE_BASE}" STREQUAL "" )
+   list( APPEND _replacements $ENV{TDAQ_RELEASE_BASE}
+      "\${TDAQ_RELEASE_BASE}" )
+endif()
+
+# Now generate and install the installed setup files:
+lcg_generate_env( SH_FILE
+   ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/env_setup_install.sh
+   REPLACE ${_replacements} )
+install( FILES ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/env_setup_install.sh
+   DESTINATION . RENAME env_setup.sh )
+
+# Configure and install the post-configuration file:
+string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
+   TDAQ-COMMON_ROOT "${TDAQ-COMMON_ROOT}" )
+string( REPLACE "${TDAQ-COMMON_VERSION}" "\${TDAQ-COMMON_VERSION}"
+   TDAQ-COMMON_ROOT "${TDAQ-COMMON_ROOT}" )
+string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
+   DQM-COMMON_ROOT "${DQM-COMMON_ROOT}" )
+string( REPLACE "${DQM-COMMON_VERSION}" "\${DQM-COMMON_VERSION}"
+   DQM-COMMON_ROOT "${DQM-COMMON_ROOT}" )
+configure_file( ${CMAKE_SOURCE_DIR}/PostConfig.cmake.in
+   ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/PostConfig.cmake @ONLY )
+install( FILES ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/PostConfig.cmake
+   DESTINATION ${CMAKE_INSTALL_CMAKEDIR} )
+
+# Set up CPack:
+atlas_cpack_setup()
diff --git a/Projects/AthDataQuality/PostConfig.cmake.in b/Projects/AthDataQuality/PostConfig.cmake.in
new file mode 100644
index 00000000000..8d8218256cb
--- /dev/null
+++ b/Projects/AthDataQuality/PostConfig.cmake.in
@@ -0,0 +1,11 @@
+#
+# File taking care of pointing the downstream projects at the right
+# version of the externals.
+#
+
+# Set the versions of the TDAQ projects:
+set( TDAQ-COMMON_VERSION "@TDAQ-COMMON_VERSION@" )
+set( TDAQ-COMMON_ROOT "@TDAQ-COMMON_ROOT@" )
+
+set( DQM-COMMON_VERSION "@DQM-COMMON_VERSION@" )
+set( DQM-COMMON_ROOT "@DQM-COMMON_ROOT@" )
diff --git a/Projects/AthDataQuality/Readme.txt b/Projects/AthDataQuality/Readme.txt
new file mode 100644
index 00000000000..0f23122a379
--- /dev/null
+++ b/Projects/AthDataQuality/Readme.txt
@@ -0,0 +1,5 @@
+
+Project build versioning scheme to be updated in AthDataQuality/version.txt
+
+Whenever PROC builds new Athena 21.0.X, the AthDataQuality is also updated by PROC to 21.0.X.1
+Whenever DQ team builds new AthDataQuality 21.0.X.Y, the AthDataQuality is updated to 21.0.X.(Y+1)
diff --git a/Projects/AthDataQuality/build.sh b/Projects/AthDataQuality/build.sh
new file mode 100755
index 00000000000..cf1c7ed70b7
--- /dev/null
+++ b/Projects/AthDataQuality/build.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+#
+# Script for building the release on top of externals built using one of the
+# scripts in this directory.
+#
+
+# Function printing the usage information for the script
+usage() {
+    echo "Usage: build.sh [-t build type] [-b build dir] [-c] [-m] [-i] [-p] [-a]"
+    echo " -c: Execute CMake step"
+    echo " -m: Execute make step"
+    echo " -i: Execute install step"
+    echo " -p: Execute CPack step"
+    echo " -a: Abort on error"
+    echo "If none of the c, m, i or p options are set then the script will do"
+    echo "*all* steps. Otherwise only the enabled steps are run - it's your"
+    echo "reponsibility to ensure that precusors are in good shape"
+}
+
+# Parse the command line arguments:
+BUILDDIR=""
+BUILDTYPE="RelWithDebInfo"
+EXE_CMAKE=""
+EXE_MAKE=""
+EXE_INSTALL=""
+EXE_CPACK=""
+NIGHTLY=true
+while getopts ":t:b:hcmipa" opt; do
+    case $opt in
+        t)
+            BUILDTYPE=$OPTARG
+            ;;
+        b)
+            BUILDDIR=$OPTARG
+            ;;
+        c)
+            EXE_CMAKE="1"
+            ;;
+        m)
+            EXE_MAKE="1"
+            ;;
+        i)
+            EXE_INSTALL="1"
+            ;;
+        p)
+            EXE_CPACK="1"
+            ;;
+        a)
+            NIGHTLY=false
+            ;;
+        h)
+            usage
+            exit 0
+            ;;
+        :)
+            echo "Argument -$OPTARG requires a parameter!"
+            usage
+            exit 1
+            ;;
+        ?)
+            echo "Unknown argument: -$OPTARG"
+            usage
+            exit 1
+            ;;
+    esac
+done
+
+# If no step was explicitly specified, turn them all on:
+if [ -z "$EXE_CMAKE" -a -z "$EXE_MAKE" -a -z "$EXE_INSTALL" -a -z "$EXE_CPACK" ]; then
+    EXE_CMAKE="1"
+    EXE_MAKE="1"
+    EXE_INSTALL="1"
+    EXE_CPACK="1"
+fi
+
+# Stop on errors from here on out:
+set -e
+
+# Source in our environment
+AthDataQualitySrcDir=$(dirname ${BASH_SOURCE[0]})
+if [ -z "$BUILDDIR" ]; then
+    BUILDDIR=${AthDataQualitySrcDir}/../../../build
+fi
+mkdir -p ${BUILDDIR}
+BUILDDIR=$(cd ${BUILDDIR} && pwd)
+source $AthDataQualitySrcDir/build_env.sh -b $BUILDDIR
+
+# create the actual build directory
+mkdir -p ${BUILDDIR}/build/AthDataQuality
+cd ${BUILDDIR}/build/AthDataQuality
+
+# consider a pipe failed if ANY of the commands fails
+set -o pipefail
+
+# CMake:
+if [ -n "$EXE_CMAKE" ]; then
+    # Remove the CMakeCache.txt file, to force CMake to find externals
+    # from scratch in an incremental build.
+    rm -f CMakeCache.txt
+    # Now run the actual CMake configuration:
+    time cmake -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} \
+        -DCTEST_USE_LAUNCHERS:BOOL=TRUE \
+        ${AthDataQualitySrcDir} 2>&1 | tee cmake_config.log
+fi
+
+# for nightly builds we want to get as far as we can
+if [ "$NIGHTLY" = true ]; then
+    # At this point stop worrying about errors:
+    set +e
+fi
+
+# make:
+if [ -n "$EXE_MAKE" ]; then
+    time make -k 2>&1 | tee cmake_build.log
+fi
+
+# Install the results:
+if [ -n "$EXE_INSTALL" ]; then
+    time make install/fast \
+        DESTDIR=${BUILDDIR}/install/AthDataQuality/${NICOS_PROJECT_VERSION} \
+        2>&1 | tee cmake_install.log
+fi
+
+# Build an RPM for the release:
+if [ -n "$EXE_CPACK" ]; then
+    time cpack 2>&1 | tee cmake_cpack.log
+    cp AthDataQuality*.rpm ${BUILDDIR}/
+fi
diff --git a/Projects/AthDataQuality/build_env.sh b/Projects/AthDataQuality/build_env.sh
new file mode 100644
index 00000000000..47d6e42371b
--- /dev/null
+++ b/Projects/AthDataQuality/build_env.sh
@@ -0,0 +1,101 @@
+# This script sets up the build enironment for an AthDataQuality
+# build.
+#
+# This script is kept separate from the build.sh
+# wrapper so it can be sourced separately from it when
+# clients want to manage their own build and just want
+# to setup the build environment
+
+env_usage() {
+    echo "Usage: build_env.sh [-b build dir]"
+}
+
+# This function actually sets up the environment for us
+# (factorise it here in case it needs skipped)
+env_setup() {
+    startdir=$(pwd)
+    # As this script can be sourced we need to support zsh and
+    # possibly other Bourne shells
+    if [ "x${BASH_SOURCE[0]}" = "x" ]; then
+    # This trick should do the right thing under ZSH:
+        thisdir=$(dirname `print -P %x`)
+        if [ $? != 0 ]; then
+            echo "ERROR: This script must be sourced from BASH or ZSH"
+            return 1
+        fi
+    else
+        # The BASH solution is a bit more straight forward:
+        thisdir=$(dirname ${BASH_SOURCE[0]})
+    fi
+    AthDataQualitySrcDir=$(cd ${thisdir};pwd)
+
+    # The directory holding the helper scripts:
+    scriptsdir=${AthDataQualitySrcDir}/../../Build/AtlasBuildScripts
+
+    # Go to the main directory of the repository:
+    cd ${AthDataQualitySrcDir}/../..
+
+    # Check if the user specified any source/build directories:
+    if [ "$BUILDDIR" = "" ]; then
+        BUILDDIR=${AthDataQualitySrcDir}/../../../build
+    fi
+
+    # Set up the environment for the build:
+    export NICOS_PROJECT_VERSION=`cat ${AthDataQualitySrcDir}/version.txt`
+    export NICOS_ATLAS_RELEASE=${NICOS_PROJECT_VERSION}
+    export NICOS_PROJECT_RELNAME=${NICOS_PROJECT_VERSION}
+    export NICOS_PROJECT_HOME=${BUILDDIR}/install/AthDataQuality
+
+    # Set up the environment variables for finding LCG and the TDAQ externals:
+    source ${scriptsdir}/LCG_RELEASE_BASE.sh
+    source ${scriptsdir}/TDAQ_RELEASE_BASE.sh
+
+    # Set up the environment variables necessary to find the CMake code from
+    # atlasexternals:
+    extDir=${BUILDDIR}/src/atlasexternals
+    if [ ! -d ${extDir} ]; then
+        echo "Didn't find atlasexternals under ${extDir}!"
+    fi
+    export AtlasCMake_DIR=${extDir}/Build/AtlasCMake
+    export LCG_DIR=${extDir}/Build/AtlasLCG
+    echo "Picking up AtlasCMake from: ${AtlasCMake_DIR}"
+    echo "Picking up AtlasLCG from  : ${LCG_DIR}"
+
+    # Return to the original directory:
+    cd $startdir
+}
+
+# we need to reset the option index as we are sourcing this script
+# http://stackoverflow.com/questions/23581368/bug-in-parsing-args-with-getopts-in-bash
+OPTIND=1
+
+# Parse the command line arguments:
+BUILDDIR=""
+while getopts "b:h" opt; do
+    case $opt in
+        b)
+            BUILDDIR=$OPTARG
+            ;;
+        h)
+            env_usage
+            ABORT=1
+            ;;
+        :)
+            echo "Argument -$OPTARG requires a parameter!"
+            env_usage
+            ABORT=1
+            ;;
+        ?)
+            echo "Unknown argument: -$OPTARG"
+            env_usage
+            ABORT=1
+            ;;
+    esac
+done
+
+# Put a big wrapper around bad argument case, because
+# a sourced script should not call "exit". This is quite
+# annoying...
+if [ -z "$ABORT" ]; then
+    env_setup
+fi
diff --git a/Projects/AthDataQuality/build_externals.sh b/Projects/AthDataQuality/build_externals.sh
new file mode 100755
index 00000000000..11afff5cffa
--- /dev/null
+++ b/Projects/AthDataQuality/build_externals.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+#
+# Script building all the externals necessary for the nightly build.
+#
+
+# Function printing the usage information for the script
+usage() {
+    echo "Usage: build_externals.sh [-t build_type] [-b build_dir] [-f] [-c]"
+    echo " -f: Force rebuild of externals from scratch, otherwise if script"
+    echo "     finds an external build present it will only do an incremental"
+    echo "     build. (unused)"
+    echo " -c: Build the externals for the continuous integration (CI) system,"
+    echo "     skipping the build of the externals RPMs. (unused)"
+    echo "If a build_dir is not given the default is '../build'"
+    echo "relative to the athena checkout"
+}
+
+# Parse the command line arguments:
+BUILDDIR=""
+BUILDTYPE="RelWithDebInfo"
+FORCE=""
+CI=""
+while getopts ":t:b:fch" opt; do
+    case $opt in
+        t)
+            BUILDTYPE=$OPTARG
+            ;;
+        b)
+            BUILDDIR=$OPTARG
+            ;;
+        f)
+            FORCE="1"
+            ;;
+        c)
+            CI="1"
+            ;;
+        h)
+            usage
+            exit 0
+            ;;
+        :)
+            echo "Argument -$OPTARG requires a parameter!"
+            usage
+            exit 1
+            ;;
+        ?)
+            echo "Unknown argument: -$OPTARG"
+            usage
+            exit 1
+            ;;
+    esac
+done
+
+# Version comparison function. Taken from a StackOverflow article.
+verlte() {
+    if [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ]; then
+        return 1
+    fi
+    return 0
+}
+
+# First off, check that we are using a new enough version of Git. We need
+# at least version 1.8.1.
+git_min_version=1.8.1
+git_version=`git --version | awk '{print $3}'`
+verlte "${git_min_version}" "${git_version}"
+if [ $? = 0 ]; then
+    echo "Detected git version (${git_version}) not new enough."
+    echo "Need at least: ${git_min_version}"
+    exit 1
+fi
+
+# Stop on errors from here on out:
+set -e
+
+# We are in BASH, get the path of this script in a simple way:
+thisdir=$(dirname ${BASH_SOURCE[0]})
+thisdir=$(cd ${thisdir};pwd)
+
+# Go to the main directory of the repository:
+cd ${thisdir}/../..
+
+# Check if the user specified any source/build directories:
+if [ "$BUILDDIR" = "" ]; then
+    BUILDDIR=${thisdir}/../../../build
+fi
+mkdir -p ${BUILDDIR}
+BUILDDIR=$(cd $BUILDDIR; pwd)
+
+# Create some directories:
+mkdir -p ${BUILDDIR}/src
+
+# Set some environment variables that the builds use internally:
+export NICOS_PROJECT_VERSION=`cat ${thisdir}/version.txt`
+export NICOS_ATLAS_RELEASE=${NICOS_PROJECT_VERSION}
+export NICOS_PROJECT_RELNAME=${NICOS_PROJECT_VERSION}
+
+# The directory holding the helper scripts:
+scriptsdir=${thisdir}/../../Build/AtlasBuildScripts
+scriptsdir=$(cd ${scriptsdir}; pwd)
+
+# Set the environment variable for finding LCG releases:
+source ${scriptsdir}/LCG_RELEASE_BASE.sh
+
+# Flag for triggering the build of RPMs for the externals:
+RPMOPTIONS="-r ${BUILDDIR}"
+if [ "$CI" = "1" ]; then
+    RPMOPTIONS=
+fi
+
+# Read in the tag/branch to use for atlasexternals:
+AtlasExternalsVersion=$(awk '/^AtlasExternalsVersion/{print $3}' ${thisdir}/externals.txt)
+
+# Check out AthenaExternals from the right branch/tag:
+${scriptsdir}/checkout_atlasexternals.sh \
+    -t ${AtlasExternalsVersion} \
+    -s ${BUILDDIR}/src/atlasexternals 2>&1 | tee ${BUILDDIR}/src/checkout.atlasexternals.log 
diff --git a/Projects/AthDataQuality/externals.txt b/Projects/AthDataQuality/externals.txt
new file mode 100644
index 00000000000..97e217b6bd6
--- /dev/null
+++ b/Projects/AthDataQuality/externals.txt
@@ -0,0 +1,8 @@
+# Version(s) of the various externals to get/build before starting the build of
+# this project, when doing a full stack nightly build.
+#
+# Remember that when specifying the name of a branch, you *must* put
+# an "origin/" prefix before it. For tags however this is explicitly
+# forbidden.
+
+AtlasExternalsVersion = 249a1470
diff --git a/Projects/AthDataQuality/modules/skeletons/atlas_export_sanitizer.cmake.in b/Projects/AthDataQuality/modules/skeletons/atlas_export_sanitizer.cmake.in
new file mode 100644
index 00000000000..debc9e4ddb5
--- /dev/null
+++ b/Projects/AthDataQuality/modules/skeletons/atlas_export_sanitizer.cmake.in
@@ -0,0 +1,72 @@
+#
+# This script is used to tweak the exported file created by CMake for
+# describing the installed targets of a release, not to treat it as a
+# fatal error if one of the targets is missing. Which can very much
+# be the case in a nightly, if a package fails building. But it should
+# not stop the downstream projects from building all together.
+#
+
+# Look for specific target files:
+set( _fileName "$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/" )
+set( _fileName "${_fileName}@CMAKE_INSTALL_CMAKEDIR@/" )
+set( _fileName "${_fileName}@CMAKE_PROJECT_NAME@Config-targets-*.cmake" )
+file( GLOB _targetFiles ${_fileName} )
+foreach( _file ${_targetFiles} )
+   # Add a line at the end of each file that clears out the
+   # _IMPORT_CHECK_TARGETS variable. So that no targets would be checked
+   # at the build configuration time.
+   file( APPEND "${_file}"
+      "# Don't check the imported targets:\n"
+      "set(_IMPORT_CHECK_TARGETS)\n" )
+endforeach()
+
+# The name of the main file to sanitize:
+set( _fileName "$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/" )
+set( _fileName "${_fileName}@CMAKE_INSTALL_CMAKEDIR@/" )
+set( _fileName "${_fileName}@CMAKE_PROJECT_NAME@Config-targets.cmake" )
+
+# Read in the generated targets file:
+file( READ ${_fileName} _targetsContent )
+
+# Do all the necessary string replacements. It has to be done in this
+# complicated way, as semicolons in the string are interpreted by string(...)
+# as list delimeters. And are removed if I give the content as a single
+# value.
+set( _outputContent )
+foreach( _element ${_targetsContent} )
+   # Lower the level of fatal messages to warning. To make nightlies with
+   # package failures still useful for code development.
+   string( REPLACE "FATAL_ERROR" "WARNING" _newContent ${_element} )
+   # Make the paths coming from LCG be treated as absolute paths, and not
+   # relative ones.
+   if( ${CMAKE_VERSION} VERSION_LESS 3.4.0 )
+      string( REPLACE "\${_IMPORT_PREFIX}/\${LCG_RELEASE_BASE}"
+         "\${LCG_RELEASE_BASE}" _newContent ${_newContent} )
+   else()
+      string( REPLACE "\${_IMPORT_PREFIX}/\\\${LCG_RELEASE_BASE}"
+         "\\\${LCG_RELEASE_BASE}" _newContent ${_newContent} )
+      string( REPLACE "\\\${LCG_RELEASE_BASE}"
+         "\${LCG_RELEASE_BASE}" _newContent ${_newContent} )
+   endif()
+   # Replace the absolute tdaq paths with ones relying on an environment
+   # variable:
+   if( NOT "$ENV{TDAQ_RELEASE_BASE}" STREQUAL "" )
+      string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
+         _newContent ${_newContent} )
+   endif()
+   # Append it to the full string:
+   if( _outputContent )
+      set( _outputContent "${_outputContent}\;${_newContent}" )
+   else()
+      set( _outputContent "${_newContent}" )
+   endif()
+endforeach()
+
+# Overwrite the original file with the new content:
+file( WRITE ${_fileName} ${_outputContent} )
+
+# Unset all created variables:
+unset( _targetsContent )
+unset( _newContent )
+unset( _outputContent )
+unset( _fileName )
diff --git a/Projects/AthDataQuality/package_filters.txt b/Projects/AthDataQuality/package_filters.txt
new file mode 100644
index 00000000000..5e330d7eefc
--- /dev/null
+++ b/Projects/AthDataQuality/package_filters.txt
@@ -0,0 +1,13 @@
+#
+# Packages to build as part of the AthDataQuality project.
+#
++ DataQuality/DQDefects
++ DataQuality/DQUtils
++ DataQuality/dqm_algorithms
++ DataQuality/DataQualityInterfaces
++ DataQuality/DataQualityUtils
++ DataQuality/DataQualityConfigurations
++ DataQuality/DCSCalculator2
++ DataQuality/ZLumiScripts
++ Database/CoraCool
+- .*
diff --git a/Projects/AthDataQuality/version.txt b/Projects/AthDataQuality/version.txt
new file mode 100644
index 00000000000..d08668a1ba4
--- /dev/null
+++ b/Projects/AthDataQuality/version.txt
@@ -0,0 +1 @@
+22.0.0.1
diff --git a/Reconstruction/AODFix/python/AODFix_r210.py b/Reconstruction/AODFix/python/AODFix_r210.py
new file mode 100644
index 00000000000..2eddfc6b05b
--- /dev/null
+++ b/Reconstruction/AODFix/python/AODFix_r210.py
@@ -0,0 +1,129 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+
+from AthenaCommon.Logging import logging
+
+logAODFix_r210 = logging.getLogger( 'AODFix_r210' )
+
+from AODFix_base import AODFix_base
+
+class AODFix_r210(AODFix_base):
+    ''' This class just performs AODFix on 21.0.X releases
+
+    Instance variables
+      addMetadata (bool) (inherited): whether to add metaData
+      doAODFix (bool) (inherited): whether to do AODFix
+      prevAODFix (string): previous AODFix applied
+      newAODFix (string): new AODFix to apply
+      isMC (bool): is the input data MC?
+    '''
+
+    @staticmethod
+    def latestAODFixVersion():
+        """The latest version of the AODFix. Moving to new AODFix version scheme"""
+
+        metadataList = [item.split("_")[0] for item in sorted(AODFix_r210.__dict__.keys()) 
+                        if ("_" in item and "__" not in item)]
+
+        return metadataList
+
+
+    def postSystemRec(self):
+        """
+        This function calls the other postSystemRecs base on metadata"
+        """
+
+        if self.doAODFix:
+
+            logAODFix_r210.debug("Executing AODFix_r210_postSystemRec")
+
+            from AthenaCommon.AlgSequence import AlgSequence
+            topSequence = AlgSequence()
+            
+            oldMetadataList = self.prevAODFix.split("-")
+            if "trklinks" not in oldMetadataList:
+                self.trklinks_postSystemRec(topSequence)
+                pass
+
+            if "egammaStrips" not in oldMetadataList:
+                self.egammaStrips_postSystemRec(topSequence)
+                pass
+
+            if "btagging" not in oldMetadataList:
+                self.btagging_postSystemRec(topSequence)
+                pass
+
+            # Reset all of the ElementLinks. To be safe.
+            from AthenaCommon import CfgMgr
+            topSequence += \
+                CfgMgr.xAODMaker__ElementLinkResetAlg( "AODFix_ElementLinkReset" )
+            pass
+
+        return
+
+
+    # Below are the individual AODfixes, split up and documented
+    # Name must follow format: <fixID>_<whereCalled>
+
+ 
+    def trklinks_postSystemRec(self, topSequence):
+        """This fixes the links to tracks in muons and btagging
+        JIRA: https://its.cern.ch/jira/browse/ATLASRECTS-3988
+        """
+        from AthenaCommon import CfgMgr
+        topSequence += \
+            CfgMgr.xAODMaker__DynVarFixerAlg( "AODFix_DynAuxVariables", Containers = ["CombinedMuonTrackParticlesAux.","BTagging_AntiKt4EMTopoAux.","MuonsAux."] )
+
+    def btagging_postSystemRec(self, topSequence):
+        """
+        This fixes the uptodate BTagging calibration conditions tag.
+        """
+
+        from AthenaCommon.AppMgr import ToolSvc
+
+        JetCollectionList = [ 'AntiKt4EMTopoJets',]
+
+        SA = 'AODFix_'
+        from BTagging.BTaggingConfiguration import getConfiguration
+        BTagConf = getConfiguration("AODFix")
+        BTagConf.PrefixxAODBaseName(False)
+        BTagConf.PrefixVertexFinderxAODBaseName(False)
+
+        BTagConf.doNotCheckForTaggerObstacles()
+        from BTagging.BTaggingConf import Analysis__StandAloneJetBTaggerAlg as StandAloneJetBTaggerAlg
+
+        btag = "BTagging_"
+        AuthorSubString = [ btag+name[:-4] for name in JetCollectionList]
+        for i, jet in enumerate(JetCollectionList):
+            try:
+                btagger = BTagConf.setupJetBTaggerTool(ToolSvc, JetCollection=jet[:-4],
+                                                       AddToToolSvc=True, SetupScheme="Retag",
+                                                       TaggerList = ['IP2D', 'IP3D', 'MultiSVbb1',  'MultiSVbb2', 'SV1', 'JetFitterNN', 'SoftMu', 'MV2c10', 'MV2c10mu', 'MV2c10rnn', 'JetVertexCharge', 'MV2c100', 'MV2cl100' , 'DL1', 'DL1rnn', 'DL1mu', 'RNNIP'])
+                SAbtagger = StandAloneJetBTaggerAlg(name=SA + AuthorSubString[i].lower(),
+                                          JetBTaggerTool=btagger,
+                                          JetCollectionName = jet,
+                                          )
+
+                topSequence += SAbtagger
+            except AttributeError as error:
+                print '#BTAG# --> ' + str(error)
+                print '#BTAG# --> ' + jet
+                print '#BTAG# --> ' + AuthorSubString[i]
+
+
+    def egammaStrips_postSystemRec(self, topSequence):
+        """This fixes the strips shower shapes for electrons and photons
+        JIRA: https://its.cern.ch/jira/browse/ATLASRECTS-4121
+        """
+        from egammaRec.egammaRecConf import egammaAODFixAlg
+        topSequence+=egammaAODFixAlg()
+
+    def IDTide_postSystemRec(self, topSequence):
+        """
+        A dummy fix to just add metadata--not called
+        Please update postSystemRec to call if you want to run it.
+        """
+        pass
+        
+
+                
diff --git a/Reconstruction/PFlow/PFlowUtils/src/CombinePFO.cxx b/Reconstruction/PFlow/PFlowUtils/src/CombinePFO.cxx
new file mode 100644
index 00000000000..87697d00b0e
--- /dev/null
+++ b/Reconstruction/PFlow/PFlowUtils/src/CombinePFO.cxx
@@ -0,0 +1,41 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "CombinePFO.h"
+#include "AthContainers/ConstDataVector.h"
+#include "xAODCore/ShallowCopy.h"
+
+CombinePFO::CombinePFO(const std::string& name, ISvcLocator* pSvcLocator) :  AthAlgorithm(name, pSvcLocator) {}
+
+StatusCode CombinePFO::initialize(){
+
+  ATH_CHECK(m_PFOContainerReadHandleKeyA.initialize());
+  ATH_CHECK(m_PFOContainerReadHandleKeyB.initialize());
+  ATH_CHECK(m_PFOContainerWriteHandleKey.initialize());
+
+  return StatusCode::SUCCESS;  
+}
+
+StatusCode CombinePFO::execute(){
+
+  SG::WriteHandle<xAOD::PFOContainer> PFOContainerWriteHandle(m_PFOContainerWriteHandleKey);
+
+  ATH_CHECK(PFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(SG::VIEW_ELEMENTS)));
+  
+  SG::ReadHandle<xAOD::PFOContainer> PFOContainerReadHandleA(m_PFOContainerReadHandleKeyA);
+  SG::ReadHandle<xAOD::PFOContainer> PFOContainerReadHandleB(m_PFOContainerReadHandleKeyB);
+
+  std::pair< xAOD::PFOContainer*, xAOD::ShallowAuxContainer* > shallowCopyOfPFOContainerA =  xAOD::shallowCopyContainer(*PFOContainerReadHandleA);    
+  std::pair< xAOD::PFOContainer*, xAOD::ShallowAuxContainer* > shallowCopyOfPFOContainerB =  xAOD::shallowCopyContainer(*PFOContainerReadHandleB);    
+
+  PFOContainerWriteHandle->assign(shallowCopyOfPFOContainerA.first->begin(),shallowCopyOfPFOContainerA.first->end());
+  PFOContainerWriteHandle->insert(PFOContainerWriteHandle->end(),shallowCopyOfPFOContainerB.first->begin(),shallowCopyOfPFOContainerB.first->end());
+  
+  return StatusCode::SUCCESS;  
+  
+}
+
+StatusCode CombinePFO::finalize(){
+  return StatusCode::SUCCESS;
+}
diff --git a/Reconstruction/PFlow/PFlowUtils/src/CombinePFO.h b/Reconstruction/PFlow/PFlowUtils/src/CombinePFO.h
new file mode 100644
index 00000000000..843e59f0310
--- /dev/null
+++ b/Reconstruction/PFlow/PFlowUtils/src/CombinePFO.h
@@ -0,0 +1,37 @@
+/*                                                                                                                                                                                                                                           
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration                                                                                                                                                                    
+*/
+
+#ifndef COMBINEPFO_H
+#define COMBINEPFO_H
+
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "xAODPFlow/PFOContainer.h"
+
+class CombinePFO : public AthAlgorithm {
+
+public:
+ /** Default constructor */
+  CombinePFO(const std::string& name, ISvcLocator* pSvcLocator);
+
+  /** Default destructor */
+  ~CombinePFO() {};
+ 
+  /** Gaudi AthAlgorithm hooks */
+  StatusCode initialize();
+  StatusCode execute();
+  StatusCode finalize();
+
+private:
+
+  /** ReadHandleKey for first PFOContainer to be combined */
+  SG::ReadHandleKey<xAOD::PFOContainer> m_PFOContainerReadHandleKeyA{this,"PFOInputContainerNameA","JetETMissLCNeutralParticleFlowObjects","ReadHandleKey for xAOD::PFOContainer"};
+
+  /** ReadHandleKey for second PFOContainer to be combined */
+  SG::ReadHandleKey<xAOD::PFOContainer> m_PFOContainerReadHandleKeyB{this,"PFOInputContainerNameB","JetETMissLCNeutralParticleFlowObjectsNonModified","ReadHandleKey for xAOD::PFOContainer"};
+
+  /** WriteHandleKey for PFOContainer, which is VIEW container combining containers A and B referenced above */
+  SG::WriteHandleKey<xAOD::PFOContainer> m_PFOContainerWriteHandleKey{this,"PFOOutputContainerName","JetETMissLCCombinedNeutralParticleFlowObjects","WriteHandleKey for xAOD::PFOContainer"};
+  
+};
+#endif
diff --git a/Reconstruction/RecExample/RecExCommon/share/DumpDbFolders.py b/Reconstruction/RecExample/RecExCommon/share/DumpDbFolders.py
new file mode 100644
index 00000000000..51aa6ff703d
--- /dev/null
+++ b/Reconstruction/RecExample/RecExCommon/share/DumpDbFolders.py
@@ -0,0 +1,32 @@
+#This file is supposed to run as transform postExec
+#It creates text files containing the all database folders that are set up
+#This should help the creation of custom DB releases
+
+from os import linesep,getpid
+
+allFolders=svcMgr.IOVDbSvc.Folders
+
+substep=""
+try:
+    from RecExConfig.RecFlags import rec
+    substep=rec.OutputFileNameForRecoStep()
+except: 
+    pass
+
+if len(substep)==0:
+    print "Failed to obtain substep, will use PID for file with db folder list" 
+    substep=str(getpid())
+
+
+
+outputFileName="DatabaseFolders_"+substep+".txt"
+
+dbFolderFile=open(outputFileName,"w")
+for fn in allFolders:
+    dbFolderFile.write(fn+linesep)
+
+dbFolderFile.close()
+
+del outputFileName
+del allFolders
+del substep
diff --git a/Reconstruction/RecoFix/CMakeLists.txt b/Reconstruction/RecoFix/CMakeLists.txt
new file mode 100644
index 00000000000..d5eee085547
--- /dev/null
+++ b/Reconstruction/RecoFix/CMakeLists.txt
@@ -0,0 +1,10 @@
+################################################################################
+# Package: RecoFix
+################################################################################
+
+# Declare the package name:
+atlas_subdir( RecoFix )
+
+# Install files from the package:
+atlas_install_python_modules( python/*.py )
+
diff --git a/Reconstruction/RecoFix/doc/packagedoc.h b/Reconstruction/RecoFix/doc/packagedoc.h
new file mode 100644
index 00000000000..6f06afcdc1c
--- /dev/null
+++ b/Reconstruction/RecoFix/doc/packagedoc.h
@@ -0,0 +1,27 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+@page RecoFix
+
+@section RecoFix_RecoFixIntro Introduction
+
+AODFix and RecoFix are a way to break frozen tier-0 in a controlled
+way. The related AODFix package handles the fixing AODs. RecoFix
+handles the case when fixes are propagated to new reconstruction. It's
+task is to set the AODFix metadata appropriately indicating what has
+been fixed. It adds _ESD suffix.
+
+@section RecoFix_RecoFixOverview Module and Class Overview
+  The RecoFix package contains of following modules:
+
+  - python.RecoFix : The module that contains the interface to RecoFix. No other module should be imported externally.
+  - python.RecoFix_base.RecoFix_base : The RecoFix base class
+  - python.RecoFix_r210.RecoFix_r210 : The class implementing the release 21.0/21.2 RecoFix
+
+
+@author Rolf Seuster
+@author Jovan Mitrevski
+
+*/
diff --git a/Reconstruction/RecoFix/python/RecoFix.py b/Reconstruction/RecoFix/python/RecoFix.py
new file mode 100644
index 00000000000..d3f3fd6f019
--- /dev/null
+++ b/Reconstruction/RecoFix/python/RecoFix.py
@@ -0,0 +1,113 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+"""@package RecoFix 
+
+This package is the only one meant to be used externally (mainly by
+RecExCommon). Only the RecoFix_* functions should be called.
+
+When adding a new RecoFix for a release family (where a release family
+is defined by the first two numbers in a release, e.g., 20.1) that
+does not yet have RecoFix, the user needs to create a new
+RecoFix_rXXY.py file with an RecoFix_rXXY class inheriting from the
+RecoFix_base class and overwrite the appropriate member
+functions. Furthermore, the RecoFix_Init() function below needs to set
+_aodFixInstance approprately, as explained in the comments below.
+
+When modifying the RecoFix for a release family for which
+RecoFix_rXXY.py exists, most likely the changes would be restricted to
+the RecoFix_rXXY.py class. The only exception is if the release family
+definition changes (e.g., add 17.3 to the 17.2 family).
+
+"""
+
+from AthenaCommon.Logging import logging
+
+logRecoFix = logging.getLogger( 'RecoFix' )
+
+from RecoFix_base import RecoFix_base
+from RecoFix_r210 import RecoFix_r210
+
+_recoFixInstance = RecoFix_base(False)
+
+def run_once(f):
+    def wrapper(*args, **kwargs):
+        if not wrapper.has_run:
+            wrapper.has_run = True
+            return f(*args, **kwargs)
+    wrapper.has_run = False
+    return wrapper
+
+@run_once
+def RecoFix_Init():
+    ''' This function is called to correctly setup RecoFix.'''
+
+    global _recoFixInstance
+
+    from RecExConfig.RecFlags import rec
+
+
+    ##################
+    # deterimine in what release we are running (and fill some rec variables
+    ##################
+
+    import os
+    curRelease=os.getenv("AtlasVersion") or ''
+
+    logRecoFix.debug("curRelease set to " + curRelease)
+    
+    
+    ##################
+    # determine athena with which input file was created and previous RecoFix
+    ##################
+   
+    # RDO doesn't have MetaData
+    prevAODFix = ''
+    if not rec.readRDO():
+
+        ##################
+        # determine which is the previous verion of the AODFix
+        ##################
+        # is it better to do this or to look at GlobalFlags?
+        from RecExConfig.InputFilePeeker import inputFileSummary
+        try:
+            prevAODFix=inputFileSummary['tag_info']['AODFixVersion']
+            if prevAODFix.startswith("AODFix_"):
+                prevAODFix=prevAODFix[7:]
+                prevAODFix=prevAODFix.split("_")[0]
+        except Exception:
+            logRecoFix.debug("no AODFixVersion found in input file, setting to <none>.")
+            prevAODFix=''
+
+    logRecoFix.info("Summary of MetaData for RecoFix:")
+    logRecoFix.info(" AODFix version <%s> was previously applied." % prevAODFix)
+
+    ##################
+    # determine which RecoFix to run (if actually running--to be determined later)
+    ##################
+
+    doRecoFix = False
+    if rec.doESD():
+        # running from RAW or ESD, set recofix metadata
+        logRecoFix.debug("detected doESD=True, applying RecoFix metadata")
+        doRecoFix = True
+
+    #exit if not doing RecoFix
+    if not doRecoFix:
+        return  
+
+    curReleaseSplit = curRelease.split('.')
+    if len(curReleaseSplit) >= 2:
+        ### If adding an RecoFix for a release family that does not have it,
+        ### please add it to the if-elif... statement below
+        if (curReleaseSplit[0] == '21' and (curReleaseSplit[1] == '0' or curReleaseSplit[1] == '2')):
+            _recoFixInstance = RecoFix_r210()
+        else:
+            logRecoFix.info("No RecoFix scheduled for this release.")
+
+    else:
+        logRecoFix.info("Current release is of strange form: %s" % curRelease)
+
+# The interface routines
+def RecoFix_addMetaData():
+    '''This adds metadata both when AODFix is run or when "fixed" reco is performed'''
+    _recoFixInstance.addMetaData()
diff --git a/Reconstruction/RecoFix/python/RecoFix_base.py b/Reconstruction/RecoFix/python/RecoFix_base.py
new file mode 100644
index 00000000000..2ab4dc31e3d
--- /dev/null
+++ b/Reconstruction/RecoFix/python/RecoFix_base.py
@@ -0,0 +1,53 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+from AthenaCommon.Logging import logging
+
+logRecoFix = logging.getLogger( 'RecoFix_base' )
+
+#The RecoFix base class
+class RecoFix_base(object):
+    ''' This is the RecoFix base class, which does nothing
+    by default. Specific RecoFix types should inherit from it.
+
+    Derived classes should override do-nothing member functions,
+    like preInclude, to implement the actual RecoFix.
+
+    Instance variables
+      addMetadata (bool): whether to add metaData
+      doAODFix (bool): whether to do AODFix
+      prevAODFix (string): previous AODFix applied
+      newAODFix (string): new AODFix to apply
+      isMC (bool): is the input MC?
+    '''
+
+    @staticmethod
+    def latestAODFixVersion():
+        """ Must override this member function in derived classes
+        """
+        return []
+
+    def __init__(self, addMetadata = True):
+        """ The default constructor.
+        """
+        self.addMetadata = addMetadata
+        return
+
+    def addMetaData(self):
+        '''standard function to apply metadata, can overload if necessary for complicated scenarios.'''
+        if self.addMetadata:
+            logRecoFix.debug("in addMetaData")
+
+            from RecExConfig.RecFlags import rec
+
+            suffix="_RAW"
+            if rec.readESD():
+                suffix="_ESD"
+            elif rec.readAOD():
+                suffix="_AOD"
+
+            str = "AODFix_" + "-".join(self.latestAODFixVersion()) + suffix
+
+            logRecoFix.info("executing addMetaData, will add as AODFixVersion %s" % str)
+            from AthenaCommon.AppMgr import ServiceMgr as svcMgr
+            svcMgr.TagInfoMgr.ExtraTagValuePairs += ["AODFixVersion", str]
+
diff --git a/Reconstruction/RecoFix/python/RecoFix_r210.py b/Reconstruction/RecoFix/python/RecoFix_r210.py
new file mode 100644
index 00000000000..a24ddea798f
--- /dev/null
+++ b/Reconstruction/RecoFix/python/RecoFix_r210.py
@@ -0,0 +1,18 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+
+from AthenaCommon.Logging import logging
+
+logRecoFix_r210 = logging.getLogger( 'RecoFix_r210' )
+
+from RecoFix_base import RecoFix_base
+
+class RecoFix_r210(RecoFix_base):
+    ''' This class just performs RecoFix on 21.0.X releases
+    '''
+
+    @staticmethod
+    def latestAODFixVersion():
+        """The latest version of the AODFix. Use same sort order as in AODFix"""
+        return ["IDTide", "egammaStrips", "trklinks"]
+
diff --git a/Reconstruction/RecoFix/python/__init__.py b/Reconstruction/RecoFix/python/__init__.py
new file mode 100644
index 00000000000..b73d0740665
--- /dev/null
+++ b/Reconstruction/RecoFix/python/__init__.py
@@ -0,0 +1,2 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# RecoFix __init__.py
diff --git a/Simulation/ISF/ISF_Config/test/test_FullG4_Sim_tf_configuration.py b/Simulation/ISF/ISF_Config/test/test_FullG4_Sim_tf_configuration.py
new file mode 100755
index 00000000000..b348d48e4c5
--- /dev/null
+++ b/Simulation/ISF/ISF_Config/test/test_FullG4_Sim_tf_configuration.py
@@ -0,0 +1,226 @@
+#!/usr/bin/env python
+
+import pickle
+import subprocess
+import unittest
+
+
+class TestFullG4(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        config_picklefilename = 'FullG4_config.pkl'
+        command = [
+            'Sim_tf.py',
+            '--simulator', 'FullG4',
+            '--athenaopts', '"--config-only={}"'.format(config_picklefilename),
+            '--conditionsTag', 'default:OFLCOND-RUN12-SDR-19',
+            '--geometryVersion', 'default:ATLAS-R2-2015-03-01-00_VALIDATION',
+            '--inputEVNTFile', '/afs/cern.ch/atlas/groups/Simulation/EVNT_files/mc12_valid.110401.PowhegPythia_P2012_ttbar_nonallhad.evgen.EVNT.e3099.01517252._000001.pool.root.1',
+            '--outputHITSFile', 'Hits.pool.root',
+            '--maxEvents', '2',
+            # would otherwise fail due to missing HITS file:
+            '--outputFileValidation', 'False',
+        ]
+        subprocess.check_call(command)
+
+        with open(config_picklefilename) as picklefile:
+            job_config_dict = pickle.load(picklefile)
+
+        cls._job_config_dict = job_config_dict
+
+    def _assert_Algorithm_property_unordered_equal(self,
+                                                   algorithm_name,
+                                                   property_name,
+                                                   expected_property_value):
+        algconfigdict = self._job_config_dict[algorithm_name]
+        actual_property_value_as_str = algconfigdict[property_name]
+        # need to evaluate to obtain actual Python object
+        actual_property_value = eval(actual_property_value_as_str)
+        expected_property_value_sorted = sorted(expected_property_value)
+        actual_property_value_sorted = sorted(actual_property_value)
+
+        failure_message = "{algorithm}.{property} has a different " \
+                          "value than expected!\n" \
+                          "expected (sorted):\n" \
+                          " {expected}\n" \
+                          "actual (sorted):\n" \
+                          " {actual}".format(
+                              algorithm=algorithm_name,
+                              property=property_name,
+                              expected=expected_property_value_sorted,
+                              actual=actual_property_value_sorted)
+        self.assertEqual(expected_property_value_sorted,
+                         actual_property_value_sorted,
+                         failure_message)
+
+
+    def _assert_Algorithm_property_ordered_equal(self,
+                                                 algorithm_name,
+                                                 property_name,
+                                                 expected_property_value):
+        algconfigdict = self._job_config_dict[algorithm_name]
+        actual_property_value_as_str = algconfigdict[property_name]
+        # need to evaluate to obtain actual Python object
+        actual_property_value = eval(actual_property_value_as_str)
+
+        failure_message = "{algorithm}.{property} has a different " \
+                          "value than expected!\n" \
+                          "expected:\n" \
+                          " {expected}\n" \
+                          "actual:\n" \
+                          " {actual}".format(
+                              algorithm=algorithm_name,
+                              property=property_name,
+                              expected=str(expected_property_value),
+                              actual=str(actual_property_value))
+        self.assertEqual(expected_property_value,
+                         actual_property_value,
+                         failure_message)
+
+
+    def _assert_Algorithm_property_equal(self,
+                                   algorithm_name,
+                                   property_name,
+                                   expected_property_value):
+        algconfigdict = self._job_config_dict[algorithm_name]
+        actual_property_value = algconfigdict[property_name]
+
+        failure_message = "{algorithm}.{property} has a different " \
+                          "value than expected!\n" \
+                          "expected:\n" \
+                          " {expected}\n" \
+                          "actual:\n" \
+                          " {actual}".format(
+                              algorithm=algorithm_name,
+                              property=property_name,
+                              expected=str(expected_property_value),
+                              actual=str(actual_property_value))
+        self.assertEqual(str(expected_property_value),
+                         str(actual_property_value),
+                         failure_message)
+
+
+    def test___SimKernel_is_at_end_of_AthAlgSeq(self):
+        ath_alg_seqence_as_str = self._job_config_dict['AthAlgSeq']['Members']
+        # need to evaluate to obtain actual Python object
+        ath_alg_seqence_list = eval(ath_alg_seqence_as_str)
+
+        actual_last_ath_alg_sequence_entry = ath_alg_seqence_list[-1]
+        expected_last_ath_alg_sequence_entry = "ISF::SimKernel/ISF_Kernel_FullG4"
+        self.assertEqual(expected_last_ath_alg_sequence_entry,
+                         actual_last_ath_alg_sequence_entry)
+
+
+    def test___BeamEffectsAlg_is_before_SimKernel_in_AthAlgSeq(self):
+        ath_alg_seqence_as_str = self._job_config_dict['AthAlgSeq']['Members']
+        # need to evaluate to obtain actual Python object
+        ath_alg_seqence_list = eval(ath_alg_seqence_as_str)
+        actual_last_ath_alg_sequence_entry = ath_alg_seqence_list[1] #Position 0 should be the timer alg
+        expected_last_ath_alg_sequence_entry = "Simulation::BeamEffectsAlg/BeamEffectsAlg"
+        self.assertEqual(expected_last_ath_alg_sequence_entry,
+                         actual_last_ath_alg_sequence_entry)
+
+
+    def test___BeamEffectsAlg_InputTruthCollection_setCorrectly(self):
+        expected_input_truth = 'GEN_EVENT'
+        self._assert_Algorithm_property_equal('BeamEffectsAlg', 'InputMcEventCollection', expected_input_truth)
+
+
+    def test___BeamEffectsAlg_OutputTruthCollection_setCorrectly(self):
+        expected_output_truth = 'BeamTruthEvent'
+        self._assert_Algorithm_property_equal('BeamEffectsAlg', 'OutputMcEventCollection', expected_output_truth)
+
+
+    def test___BeamEffectsAlg_ISFRun_setCorrectly(self):
+        expected_ISFRun = True
+        self._assert_Algorithm_property_equal('BeamEffectsAlg', 'ISFRun', expected_ISFRun)
+
+
+    def test___BeamEffectsAlg_GenEventManipulators_setCorrectly(self):
+        expected_property_value = ['Simulation::GenEventValidityChecker/GenEventValidityChecker','Simulation::GenEventVertexPositioner/GenEventVertexPositioner']
+        self._assert_Algorithm_property_ordered_equal('BeamEffectsAlg', 'GenEventManipulators', expected_property_value)
+
+
+    def test___Geo2G4Svc_GetTopTransform_setCorrectly(self):
+        expected_property_value = True
+        self._assert_Algorithm_property_equal('Geo2G4Svc', 'GetTopTransform', expected_property_value)
+
+
+    def test___SimKernel_ListOfSetProperties(self):
+        expected_list = ['BeamPipeSimulationSelectors', 'CaloSimulationSelectors', 'CavernSimulationSelectors', 'DetStore', 'DoCPUMonitoring', 'DoMemoryMonitoring', 'EventFilterTools', 'EvtStore', 'ExtraInputs', 'ExtraOutputs', 'IDSimulationSelectors', 'InputConverter', 'InputHardScatterCollection', 'MSSimulationSelectors', 'MemoryMonitoringTool', 'NeededResources', 'OutputHardScatterTruthCollection', 'ParticleBroker', 'SimHitService', 'TruthRecordService']
+        simkernel = self._job_config_dict['ISF_Kernel_FullG4']
+        actual_list = simkernel.keys()
+        expected_property_value_sorted = sorted(expected_list)
+        actual_property_value_sorted = sorted(actual_list)
+
+        failure_message = "simkernel.keys() has a different " \
+                          "value than expected!\n" \
+                          "expected (sorted):\n" \
+                          " {expected}\n" \
+                          "actual (sorted):\n" \
+                          " {actual}".format(
+                              expected=expected_property_value_sorted,
+                              actual=actual_property_value_sorted)
+        self.assertEqual(expected_property_value_sorted,
+                         actual_property_value_sorted,
+                         failure_message)
+
+
+    def test___SimKernel_TruthRecordService_setCorrectly(self):
+        expected_service_name = 'ISF_MC12TruthService'
+        self._assert_Algorithm_property_equal('ISF_Kernel_FullG4', 'TruthRecordService', expected_service_name)
+
+
+    def test___SimKernel_InputConverter_setCorrectly(self):
+        expected_service_name = 'ISF_InputConverter'
+        self._assert_Algorithm_property_equal('ISF_Kernel_FullG4', 'InputConverter', expected_service_name)
+
+
+    def test___SimKernel_OutputHardScatterTruthCollection_setCorrectly(self):
+        expected_output_truth = 'TruthEvent'
+        self._assert_Algorithm_property_equal('ISF_Kernel_FullG4', 'OutputHardScatterTruthCollection', expected_output_truth)
+
+
+    def test___SimKernel_InputHardScatterCollection_setCorrectly(self):
+        expected_output_truth = 'BeamTruthEvent'
+        self._assert_Algorithm_property_equal('ISF_Kernel_FullG4', 'InputHardScatterCollection', expected_output_truth)
+
+
+    def test___SimKernel_BeamPipeSimulationSelectors_setCorrectly(self):
+        expected_property_value = ['ISF::DefaultSimSelector/ISF_FullGeant4Selector']
+        self._assert_Algorithm_property_ordered_equal('ISF_Kernel_FullG4', 'BeamPipeSimulationSelectors', expected_property_value)
+
+
+    def test___SimKernel_IDSimulationSelectors_setCorrectly(self):
+        expected_property_value = ['ISF::DefaultSimSelector/ISF_FullGeant4Selector']
+        self._assert_Algorithm_property_ordered_equal('ISF_Kernel_FullG4', 'IDSimulationSelectors', expected_property_value)
+
+
+    def test___SimKernel_CaloSimulationSelectors_setCorrectly(self):
+        expected_property_value = ['ISF::DefaultSimSelector/ISF_FullGeant4Selector']
+        self._assert_Algorithm_property_ordered_equal('ISF_Kernel_FullG4', 'CaloSimulationSelectors', expected_property_value)
+
+
+    def test___SimKernel_MSSimulationSelectors_setCorrectly(self):
+        expected_property_value = ['ISF::DefaultSimSelector/ISF_FullGeant4Selector']
+        self._assert_Algorithm_property_ordered_equal('ISF_Kernel_FullG4', 'MSSimulationSelectors', expected_property_value)
+
+
+    def test___SimKernel_CavernSimulationSelectors_setCorrectly(self):
+        expected_property_value = ['ISF::DefaultSimSelector/ISF_DefaultParticleKillerSelector']
+        self._assert_Algorithm_property_ordered_equal('ISF_Kernel_FullG4', 'CavernSimulationSelectors', expected_property_value)
+
+
+    def test___GeoModelSvc_DetectorTools_setCorrectly(self):
+        expected_property_value = ['PixelDetectorTool/PixelDetectorTool', 'SCT_DetectorTool/SCT_DetectorTool', 'TRT_DetectorTool/TRT_DetectorTool', 'InDetServMatTool/InDetServMatTool', 'LArDetectorToolNV/LArDetectorToolNV', 'TileDetectorTool/TileDetectorTool', 'MuonDetectorTool/MuonDetectorTool', 'BeamPipeDetectorTool/BeamPipeDetectorTool']
+        self._assert_Algorithm_property_ordered_equal('GeoModelSvc', 'DetectorTools', expected_property_value)
+
+
+    def test___AGDDtoGeoSvc_Builders_setCorrectly(self):
+        expected_property_value = ['MuonAGDDTool/MuonSpectrometer']
+        self._assert_Algorithm_property_ordered_equal('AGDDtoGeoSvc', 'Builders', expected_property_value)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCS_Cell.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCS_Cell.h
new file mode 100644
index 00000000000..0999fc7ccaf
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FCS_Cell.h
@@ -0,0 +1,90 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef FCS_Cell
+#define FCS_Cell
+#include <vector>
+//#include <stdint.h>
+#include <Rtypes.h>
+#include <TLorentzVector.h>
+//#include <iostream>
+/******************************************
+This contains structure definition
+All structures are relatively simple
+each matched cell remembers - cell properties + vector of g4hits in this cell + vector of FCS hits in this cell
+
+Technicalities - needs a Linkdef.h file + makefile to create the dictionary for ROOT
+then the last class could be saved in to the TTree
+
+ ******************************************/
+
+struct FCS_cell
+{
+  Long64_t cell_identifier;
+  int   sampling;
+  float energy;
+  float center_x;
+  float center_y;
+  float center_z; //to be updated later      
+  bool operator<(const FCS_cell &rhs) const { return energy > rhs.energy;};                                                                   
+};
+
+struct FCS_hit //this is the FCS detailed hit
+{
+  Long64_t identifier; //hit in the same tile cell can have two identifiers (for two PMTs)
+  Long64_t cell_identifier;
+  int    sampling; //calorimeter layer
+  float  hit_energy; //energy is already scaled for the sampling fraction
+  float  hit_time;
+  float  hit_x;
+  float  hit_y;
+  float  hit_z;
+  bool operator<(const FCS_hit &rhs) const { return hit_energy > rhs.hit_energy;};
+  //float  hit_sampfrac;
+};
+
+struct FCS_g4hit //this is the standard G4Hit
+{
+  Long64_t identifier;
+  Long64_t cell_identifier;
+  int    sampling;
+  float  hit_energy;
+  float  hit_time;
+  //float  hit_sampfrac;
+  bool operator<(const FCS_g4hit &rhs) const { return hit_energy > rhs.hit_energy;};
+};
+
+struct FCS_matchedcell //this is the matched structure for a single cell
+{
+  FCS_cell cell;
+  std::vector<FCS_g4hit> g4hit;
+  std::vector<FCS_hit> hit;
+  inline void clear() {g4hit.clear(); hit.clear();};
+  inline float scalingfactor(){float hitsum =0.; for (unsigned int i=0; i<hit.size(); i++){hitsum+=hit[i].hit_energy;}; return cell.energy/hitsum;}; //doesn't check for 0!
+  bool operator<(const FCS_matchedcell &rhs) const { return cell.energy > rhs.cell.energy;};
+  inline void sorthit() { std::sort(hit.begin(), hit.end());};
+  inline void sortg4hit() { std::sort(g4hit.begin(), g4hit.end());};
+  inline void sort() { sorthit(); sortg4hit();};
+  inline void time_trim(float timing_cut) { /*std::cout <<"Cutting: "<<timing_cut<<" from: "<<hit.size()<<" "<<g4hit.size()<<std::endl;*/hit.erase(std::remove_if(hit.begin(), hit.end(), [&timing_cut](const FCS_hit &rhs) { return rhs.hit_time>timing_cut;}), hit.end()); g4hit.erase(std::remove_if(g4hit.begin(), g4hit.end(), [&timing_cut](const FCS_g4hit &rhs) { return rhs.hit_time>timing_cut;}),g4hit.end());/*std::cout <<"remaining: "<<hit.size()<<" "<<g4hit.size()<<std::endl;*/};
+};
+
+struct FCS_matchedcellvector //this is the matched structure for the whole event (or single layer) - vector of FCS_matchedcell 
+{
+  //Note that struct can have methods
+  //Note the overloaded operator(s) to access the underlying vector
+  std::vector<FCS_matchedcell> m_vector;
+  inline std::vector<FCS_matchedcell> GetLayer(int layer){std::vector<FCS_matchedcell> ret; for (unsigned i=0; i<m_vector.size(); i++) {if (m_vector[i].cell.sampling == layer) ret.push_back(m_vector[i]);}; return ret;};
+  inline FCS_matchedcell operator[](unsigned int place) { return m_vector[place];};
+  inline unsigned int size() {return m_vector.size();};
+  inline void push_back(FCS_matchedcell cell) { m_vector.push_back(cell);};
+  inline void sort_cells() { std::sort(m_vector.begin(), m_vector.end());};
+  inline void sort() { std::sort(m_vector.begin(), m_vector.end()); for (unsigned int i=0; i<m_vector.size(); i++) { m_vector[i].sort();};};
+  inline void time_trim(float timing_cut) 
+  { for (unsigned int i=0; i< m_vector.size(); i++) { m_vector[i].time_trim(timing_cut); }; m_vector.erase(std::remove_if(m_vector.begin(), m_vector.end(), [] (const FCS_matchedcell &rhs) { return (rhs.hit.size()==0 && rhs.g4hit.size() ==0 && fabs(rhs.cell.energy)<1e-3);}), m_vector.end());};
+  inline float scalingfactor(){float cellsum=0.; float hitsum=0.; for (unsigned int i=0; i<m_vector.size(); i++){cellsum+=m_vector[i].cell.energy;for (unsigned int j=0; j<m_vector[i].hit.size(); j++){hitsum+=m_vector[i].hit[j].hit_energy;};}; return cellsum/hitsum;}; //doesn't check for 0!
+};
+
+
+#endif
+
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/fcsTrfArgs.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/fcsTrfArgs.py
new file mode 100644
index 00000000000..2dfd9fa2392
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/python/fcsTrfArgs.py
@@ -0,0 +1,22 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+import argparse
+import logging
+msg = logging.getLogger(__name__)
+import unittest
+import pickle
+import os
+
+from PyJobTransforms.trfArgClasses import argFactory, argFile, argInt, argFloat, argString, argSubstep, trfArgParser, argList, argBool, argPOOLFile, argHITSFile, argRDOFile, argSubstepInt, argSubstepBool
+## Add FCS Ntuple transform arguments
+def addFCS_NtupArgs(parser):
+    parser.defineArgGroup('FCS_Ntup_tf', 'FCS_Ntup_tf specific options')
+    parser.add_argument('--inputESDFile', nargs = '+',
+                        type=argFactory(argPOOLFile, io='input'),
+                        help='Input ESD files', group='FCS_Ntup_tf')
+    parser.add_argument('--outputNTUP_FCSFile', nargs = '+',
+                        type=argFactory(argFile, io='output'),
+                        help='Output NTUP_FCS files', group='FCS_Ntup_tf')
+    parser.add_argument('--outputGeoFileName',
+                        type=argFactory(argString),
+                        help='Optional geometry file', group='FCS_Ntup_tf')
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/scripts/FCS_Ntup_tf.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/scripts/FCS_Ntup_tf.py
new file mode 100755
index 00000000000..15f51e0ca81
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/scripts/FCS_Ntup_tf.py
@@ -0,0 +1,50 @@
+#! /usr/bin/env python
+
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+"""
+Run HITS file and produce histograms.
+"""
+
+import os.path
+import sys
+import time
+import logging
+
+# Setup core logging here
+from PyJobTransforms.trfLogger import msg
+msg.info('logging set in %s' % sys.argv[0])
+from PyJobTransforms.transform import transform
+from PyJobTransforms.trfExe import athenaExecutor
+from PyJobTransforms.trfArgs import addAthenaArguments, addDetectorArguments, addTriggerArguments
+from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace
+import PyJobTransforms.trfArgClasses as trfArgClasses
+from ISF_FastCaloSimParametrization.fcsTrfArgs import addFCS_NtupArgs
+
+@stdTrfExceptionHandler
+@sigUsrStackTrace
+def main():
+
+    msg.info('This is %s' % sys.argv[0])
+
+    trf = getTransform()
+    trf.parseCmdLineArgs(sys.argv[1:])
+    trf.execute()
+    trf.generateReport()
+
+    msg.info("%s stopped at %s, trf exit code %d" % (sys.argv[0], time.asctime(), trf.exitCode))
+    sys.exit(trf.exitCode)
+
+def getTransform():
+    executorSet = set()
+    executorSet.add(athenaExecutor(name = 'FCS_Ntup',
+                                   skeletonFile = 'ISF_FastCaloSimParametrization/skeleton.ESDtoNTUP_FCS.py',
+                                   inData = ['ESD'], outData = ['NTUP_FCS'],))
+    trf = transform(executor = executorSet, description = 'FastCaloSim V2 Parametrization ntuple transform. Inputs must be ESD. Outputs must bentuple files.')
+    addAthenaArguments(trf.parser)
+    addFCS_NtupArgs(trf.parser)
+    return trf
+
+
+if __name__ == '__main__':
+    main()
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple_core.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple_core.py
new file mode 100644
index 00000000000..f72c563bb64
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/ISF_ntuple_core.py
@@ -0,0 +1,98 @@
+from AthenaCommon.AppMgr import ServiceMgr
+import AthenaPoolCnvSvc.ReadAthenaPool
+
+from PartPropSvc.PartPropSvcConf import PartPropSvc
+
+include( "ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py")
+include( "EventAthenaPool/EventAthenaPool_joboptions.py" )
+
+import os
+import sys
+from glob import glob
+from AthenaCommon.AthenaCommonFlags  import athenaCommonFlags
+
+ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput() # This is stupid and redundant, but necessary
+
+from AthenaCommon.AlgSequence import AlgSequence
+topSequence = AlgSequence()
+
+# To set up a geometry
+from RecExConfig.AutoConfiguration import *
+ConfigureFieldAndGeo() # Configure the settings for the geometry
+include("RecExCond/AllDet_detDescr.py") # Actually load the geometry
+
+from AthenaCommon.DetFlags import DetFlags
+DetFlags.ID_setOn()
+DetFlags.Calo_setOn()
+DetFlags.Muon_setOff()
+DetFlags.Forward_setOff()
+
+from ISF_FastCaloSimParametrization.ISF_FastCaloSimParametrizationConf import ISF_HitAnalysis
+topSequence += ISF_HitAnalysis()
+
+ISF_HitAnalysis = ISF_HitAnalysis()
+ISF_HitAnalysis.NtupleFileName = 'ISF_HitAnalysis'
+ISF_HitAnalysis.GeoFileName = 'ISF_Geometry'
+
+##############################
+
+ISF_HitAnalysis.CaloBoundaryR = 1148.0
+ISF_HitAnalysis.CaloBoundaryZ = 3549.5 #before: 3475.0
+ISF_HitAnalysis.CaloMargin=100 #=10cm
+ISF_HitAnalysis.NTruthParticles = 1 # Copy only one truth particle to the ntuples for now
+ISF_HitAnalysis.SaveAllBranches = False
+ISF_HitAnalysis.DoAllCells = False
+ISF_HitAnalysis.DoLayers = True
+ISF_HitAnalysis.DoLayerSums = True
+ISF_HitAnalysis.DoG4Hits = False
+ISF_HitAnalysis.TimingCut = 999999
+ISF_HitAnalysis.OutputLevel = ERROR
+
+#############################
+##### NEW TRACKING SETUP ####
+#############################
+mlog = logging.getLogger( 'ISF_HitAnalysis::configure:' )
+mlog.info("now configure the non-interacting propagator...")
+from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
+niPropagator = Trk__STEP_Propagator()
+niPropagator.MaterialEffects = False
+ToolSvc+=niPropagator
+mlog.info("configure nono-interacting propagator finished")
+
+mlog.info("now configure the TimedExtrapolator...")
+from TrkExTools.TimedExtrapolator import TimedExtrapolator
+timedExtrapolator=TimedExtrapolator()
+timedExtrapolator.STEP_Propagator = niPropagator
+timedExtrapolator.ApplyMaterialEffects = False
+ToolSvc+=timedExtrapolator
+mlog.info("configure TimedExtrapolator finished")
+
+from CaloTrackingGeometry.CaloTrackingGeometryConf import CaloSurfaceHelper
+caloSurfaceHelper = CaloSurfaceHelper()
+ToolSvc+=caloSurfaceHelper
+
+from TrkDetDescrSvc.TrkDetDescrJobProperties import TrkDetFlags
+
+ISF_HitAnalysis.CaloEntrance=TrkDetFlags.InDetContainerName()
+ISF_HitAnalysis.CaloSurfaceHelper=caloSurfaceHelper
+ISF_HitAnalysis.Extrapolator=timedExtrapolator
+
+#############################
+
+from AthenaCommon.CfgGetter import getPublicTool
+
+fcsgeohelper= getPublicTool('FastCaloSimGeometryHelper')
+ToolSvc+=fcsgeohelper
+ISF_HitAnalysis.CaloGeometryHelper=fcsgeohelper
+
+ISF_HitAnalysis.FastCaloSimCaloExtrapolation= getPublicTool('FastCaloSimCaloExtrapolation')
+ISF_HitAnalysis.FastCaloSimCaloExtrapolation.OutputLevel = ERROR
+ToolSvc.FastCaloSimCaloExtrapolation.OutputLevel = ERROR
+
+ServiceMgr.MessageSvc.OutputLevel = ERROR
+ServiceMgr.MessageSvc.defaultLimit = 9999999
+
+ServiceMgr.AuditorSvc.Auditors  += [ "ChronoAuditor"]
+
+AthenaPoolCnvSvc = Service("AthenaPoolCnvSvc")
+AthenaPoolCnvSvc.UseDetailChronoStat = TRUE
\ No newline at end of file
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/skeleton.ESDtoNTUP_FCS.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/skeleton.ESDtoNTUP_FCS.py
new file mode 100644
index 00000000000..9ad54491241
--- /dev/null
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/share/skeleton.ESDtoNTUP_FCS.py
@@ -0,0 +1,79 @@
+include("SimuJobTransforms/CommonSkeletonJobOptions.py")
+
+# Get a handle to the ApplicationManager
+from AthenaCommon.AppMgr import theApp
+# Number of events to be processed (default is 10)
+theApp.EvtMax = jobproperties.AthenaCommonFlags.EvtMax.get_Value()
+
+# get the logger
+from AthenaCommon.Logging import logging
+fcsntuplog = logging.getLogger('FCS_Ntup_tf')
+fcsntuplog.info( '****************** STARTING Ntuple Production *****************' )
+fcsntuplog.info( str(runArgs) )
+
+#==============================================================
+# Job definition parameters:
+#==============================================================
+#already in CommonSkeletonJobOptions.py
+#from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+from AthenaCommon.AppMgr import ToolSvc
+from AthenaCommon.AppMgr import ServiceMgr
+import AthenaPoolCnvSvc.ReadAthenaPool
+
+from PartPropSvc.PartPropSvcConf import PartPropSvc
+
+import os
+from glob import glob
+if hasattr(runArgs,"inputESDFile"):
+    globalflags.InputFormat.set_Value_and_Lock('pool')
+    athenaCommonFlags.FilesInput = runArgs.inputESDFile
+    ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput()
+    pass
+
+
+from GaudiSvc.GaudiSvcConf import THistSvc
+ServiceMgr += THistSvc()
+## Output NTUP_FCS File
+if hasattr(runArgs,"outputNTUP_FCSFile"):
+    print "Output is"
+    print  runArgs.outputNTUP_FCSFile
+    ServiceMgr.THistSvc.Output +=["ISF_HitAnalysis DATAFILE='"+runArgs.outputNTUP_FCSFile+"' OPT='RECREATE'"] # FIXME top level directory name
+else:
+    fcsntuplog.warning('No output file set')
+    ServiceMgr.THistSvc.Output +=["ISF_HitAnalysis DATAFILE='output.NTUP_FCS.root' OPT='RECREATE'"] # FIXME top level directory name
+
+
+## Optional output Geometry File
+if hasattr(runArgs,"outputGeoFileName"):
+    ServiceMgr.THistSvc.Output +=["ISF_Geometry DATAFILE='"+runArgs.outputGeoFileName+"' OPT='RECREATE'"] # FIXME top level directory name
+
+
+#==============================================================
+# Job Configuration parameters:
+#==============================================================
+## Pre-exec
+if hasattr(runArgs,"preExec"):
+    fcsntuplog.info("transform pre-exec")
+    for cmd in runArgs.preExec:
+        fcsntuplog.info(cmd)
+        exec(cmd)
+
+## Pre-include
+if hasattr(runArgs,"preInclude"):
+    for fragment in runArgs.preInclude:
+        include(fragment)
+
+
+include("ISF_FastCaloSimParametrization/ISF_ntuple_core.py") # Main job options
+
+## Post-include
+if hasattr(runArgs,"postInclude"):
+    for fragment in runArgs.postInclude:
+        include(fragment)
+
+## Post-exec
+if hasattr(runArgs,"postExec"):
+    digilog.info("transform post-exec")
+    for cmd in runArgs.postExec:
+        fcsntuplog.info(cmd)
+        exec(cmd)
diff --git a/Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.cxx b/Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.cxx
new file mode 100644
index 00000000000..c3716c20644
--- /dev/null
+++ b/Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.cxx
@@ -0,0 +1,81 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "BaseSimulationSelector.h"
+
+#include "ISF_Interfaces/SimulationFlavor.h"
+#include "ISF_Event/ISFParticle.h"
+
+
+/** Constructor with parameters */
+ISF::BaseSimulationSelector::BaseSimulationSelector(const std::string& type, const std::string& name, const IInterface* parent) :
+  base_class(type, name, parent),
+  m_simulator("DefaultSimulator", name),
+  m_isDynamic(false),
+  m_invertCuts(false),
+  m_simflavor(ISF::UndefinedSim)
+{
+  declareProperty("Simulator",      m_simulator  );
+  declareProperty("IsDynamic",      m_isDynamic  );
+  declareProperty("InvertCuts",     m_invertCuts );
+}
+
+
+/** Gaudi sysInitialize() method */
+StatusCode ISF::BaseSimulationSelector::sysInitialize()
+{
+  ATH_CHECK( AthAlgTool::sysInitialize() );
+  ATH_CHECK( m_simulator.retrieve() );
+
+  return StatusCode::SUCCESS;
+}
+
+
+/** virtual destructor */
+ISF::BaseSimulationSelector::~BaseSimulationSelector() { }
+
+/** make the routing decision */
+bool
+ISF::BaseSimulationSelector::selfSelect(const ISFParticle& particle)
+{
+  bool pass = passSelectorCuts(particle);
+  pass = ( m_invertCuts ? (!pass) : pass );
+
+  return pass;
+}
+
+/** return a handle on the simulator */
+ServiceHandle<ISF::ISimulationSvc>* ISF::BaseSimulationSelector::simulator() {
+  return &m_simulator;
+}
+
+/** return if is this a static or dynamic SimulationSelector
+    (is used by fully dynamic partilce routers) */
+bool ISF::BaseSimulationSelector::isDynamic() {
+  return m_isDynamic;
+}
+
+/** return the simulation service ID */
+ISF::SimSvcID ISF::BaseSimulationSelector::simSvcID() {
+  return m_simulator->simSvcID();
+}
+
+/** return the simulation service ID */
+ISF::SimulationFlavor ISF::BaseSimulationSelector::simFlavor() {
+  return m_simflavor;
+}
+
+/** initialize Selector */
+void ISF::BaseSimulationSelector::initializeSelector() { }
+
+/** called at the beginning of each athena event
+    (can be used for eg. resetting dynamic selectors) */
+void ISF::BaseSimulationSelector::beginEvent() { }
+
+/** called at the end of each athena event
+    (can be used for eg. resetting dynamic selectors) */
+void ISF::BaseSimulationSelector::endEvent() { }
+
+/** update internal event representation */
+void ISF::BaseSimulationSelector::update(const ISFParticle& ) { }
diff --git a/Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.h b/Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.h
new file mode 100644
index 00000000000..d951c53db93
--- /dev/null
+++ b/Simulation/ISF/ISF_SimulationSelectors/src/BaseSimulationSelector.h
@@ -0,0 +1,81 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ISF_SIMULATIONSELECTORS_BASESIMULATIONSELECTOR_H
+#define ISF_SIMULATIONSELECTORS_BASESIMULATIONSELECTOR_H 1
+
+// ISF includes
+#include "ISF_Interfaces/ISimulationSelector.h"
+#include "ISF_Interfaces/ISimulationSvc.h"
+#include "ISF_Interfaces/SimulationFlavor.h"
+
+
+// Gaudi & Athena basics
+#include "GaudiKernel/ServiceHandle.h"
+#include "AthenaBaseComps/AthAlgTool.h"
+
+
+namespace ISF {
+
+class ISFParticle;
+
+/**
+ @class BaseSimulationSelector
+
+ @author Elmar.Ritsch -at- cern.ch , Peter.Sherwood -at- cern.ch
+ */
+
+class BaseSimulationSelector : public extends<AthAlgTool, ISimulationSelector> {
+  public:
+    /** Constructor with parameters */
+    BaseSimulationSelector( const std::string& t, const std::string& n, const IInterface* p );
+
+    /** virtual destructor */
+    virtual ~BaseSimulationSelector();
+
+    /** Gaudi sysInitialize() method */
+    virtual StatusCode sysInitialize() override;
+
+    /** return a handle on the simulator */
+    virtual ServiceHandle<ISimulationSvc>* simulator() override;
+
+    /** return if is this a static or dynamic SimulationSelector
+        (is used by fully dynamic particle routers) */
+    virtual bool isDynamic() override;
+
+    /** return the simulation service ID */
+    virtual SimSvcID simSvcID() override;
+
+    /** return the simulation flavor */
+    virtual ISF::SimulationFlavor simFlavor() override;
+
+    /** initialize Selector */
+    virtual void initializeSelector() override;
+
+    /** called at the beginning of each athena event
+        (can be used for eg. resetting dynamic selectors) */
+    virtual void beginEvent() override;
+
+    /** called at the end of each athena event
+        (can be used for eg. resetting dynamic selectors) */
+    virtual void endEvent() override;
+
+    /** update internal event representation */
+    virtual void update(const ISFParticle& ) override;
+
+    /** make the routing decision */
+    virtual bool selfSelect(const ISFParticle& particle) override;
+
+  private:
+    ServiceHandle<ISimulationSvc>       m_simulator;  //!< simulation service assigned to a single advisor
+    bool                                m_isDynamic;  //!< this selector is either dynamic or static
+    bool                                m_invertCuts; //!< invert the result given by passesCuts(..) method
+    ISF::SimulationFlavor               m_simflavor;  //!< simulation flavor
+};
+
+
+} // end of namespace
+
+
+#endif // ISF_SIMULATIONSELECTORS_BASESIMULATIONSELECTOR_H
diff --git a/Simulation/ISF/ISF_Validation/test/test_Sim_FullG4_ReproducibilityTest.sh b/Simulation/ISF/ISF_Validation/test/test_Sim_FullG4_ReproducibilityTest.sh
new file mode 100755
index 00000000000..455f1d024b1
--- /dev/null
+++ b/Simulation/ISF/ISF_Validation/test/test_Sim_FullG4_ReproducibilityTest.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# art-description: Reading single particle gen events, checking that the SkipEvents argument works, using 2015 geometry and conditions
+# art-type: grid
+
+# Run 10 events normally
+Sim_tf.py --conditionsTag 'default:OFLCOND-RUN12-SDR-19' --physicsList 'FTFP_BERT' --truthStrategy 'MC15aPlus' --simulator 'FullG4' --postInclude 'default:PyJobTransforms/UseFrontier.py' --preInclude 'EVNTtoHITS:SimulationJobOptions/preInclude.BeamPipeKill.py' --DataRunNumber '222525' --geometryVersion 'default:ATLAS-R2-2015-03-01-00' --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/ISF_Validation/mc12_valid.110401.PowhegPythia_P2012_ttbar_nonallhad.evgen.EVNT.e3099.01517252._000001.pool.root.1' --outputHITSFile 'hitsFull.ttbar.pool.root' --maxEvents '10' --skipEvents '0'
+
+echo "art-result: $? unsplit-sim"
+
+# Run first 5 events
+Sim_tf.py --conditionsTag 'default:OFLCOND-RUN12-SDR-19' --physicsList 'FTFP_BERT' --truthStrategy 'MC15aPlus' --simulator 'FullG4' --postInclude 'default:PyJobTransforms/UseFrontier.py' --preInclude 'EVNTtoHITS:SimulationJobOptions/preInclude.BeamPipeKill.py' --DataRunNumber '222525' --geometryVersion 'default:ATLAS-R2-2015-03-01-00' --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/ISF_Validation/mc12_valid.110401.PowhegPythia_P2012_ttbar_nonallhad.evgen.EVNT.e3099.01517252._000001.pool.root.1' --outputHITSFile 'hitsHalf1.ttbar.pool.root' --maxEvents '5' --skipEvents '0'
+
+echo "art-result: $? split-sim1"
+
+# Run next 5 events
+Sim_tf.py --conditionsTag 'default:OFLCOND-RUN12-SDR-19' --physicsList 'FTFP_BERT' --truthStrategy 'MC15aPlus' --simulator 'FullG4' --postInclude 'default:PyJobTransforms/UseFrontier.py' --preInclude 'EVNTtoHITS:SimulationJobOptions/preInclude.BeamPipeKill.py' --DataRunNumber '222525' --geometryVersion 'default:ATLAS-R2-2015-03-01-00' --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/ISF_Validation/mc12_valid.110401.PowhegPythia_P2012_ttbar_nonallhad.evgen.EVNT.e3099.01517252._000001.pool.root.1' --outputHITSFile 'hitsHalf2.ttbar.pool.root' --maxEvents '5' --skipEvents '5'
+
+echo "art-result: $? split-sim2"
+
+# Merge the partial files
+HITSMerge_tf.py --inputHitsFile hitsHalf1.ttbar.pool.root \
+                                hitsHalf2.ttbar.pool.root \
+                --outputHitsFile 'hitsMerged.ttbar.pool.root'
+
+echo "art-result: $? split-merge"
+
+# Run a dummy merge on the full hits file to deal with lossy compression:
+HITSMerge_tf.py --inputHitsFile 'hitsFull.ttbar.pool.root' --outputHitsFile 'hitsFullMerged.ttbar.pool.root'
+
+echo "art-result: $? dummy-merge"
+
+# Compare the merged outputs
+acmd.py diff-root hitsFullMerged.ttbar.pool.root hitsMerged.ttbar.pool.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings
+
+echo "art-result: $? comparison"
diff --git a/Simulation/RunDependentSim/RunDependentSimComps/share/RunDepProfileGenerator.py b/Simulation/RunDependentSim/RunDependentSimComps/share/RunDepProfileGenerator.py
new file mode 100644
index 00000000000..64c05e83b07
--- /dev/null
+++ b/Simulation/RunDependentSim/RunDependentSimComps/share/RunDepProfileGenerator.py
@@ -0,0 +1,178 @@
+#!/usr/bin/env python
+#file RunDepProfileGenerator.py
+#Mu profile generator. Given mu histogram in ROOT file from Data-Preparation, scale to desired number of events, and create configLumi job option.
+
+import sys,argparse,os,time
+import ROOT
+import math
+
+from AthenaCommon.Logging import logging
+log = logging.getLogger("RunDepProfileGenerator")
+log.setLevel(logging.DEBUG)
+
+parser = argparse.ArgumentParser(description='Generate configLumi option from mu profile.')
+parser.add_argument('-i','--input-file-name',help='name of ROOT file containing unscaled mu histogram',dest='in_file')
+parser.add_argument('-n','--histogram-name',help='optional name of histogram to generate profile for if multiple exist in IN_FILE',dest='in_hist')
+parser.add_argument('-e','--external-dictionary',help='unscaled input dictionary given as {mu:events}',dest='ex_dict')
+parser.add_argument('-r','--run-number',help='run number used in default output file name',dest='run_num',required=True,type=int)
+parser.add_argument('-s','--start-time-stamp',help='starting timestamp',dest='start_tstamp',required=True,type=int)
+parser.add_argument('-o','--output-file-name',help='custom output file name',dest='out_file')
+parser.add_argument('-c','--scale',help='total number of events by which to scale the input histogram/dictionary',dest='total_events',required=True,type=int)
+
+#Following RunDepTaskMaker.py for output format
+formatLine="'run':{run}, 'lb':{lb}, 'starttstamp':{starttstamp}, 'dt':{dt:.3f}, 'evts':_evts({evts:.0f}), 'mu':{mu:.3f}, 'force_new':False"
+
+scaled_integral = 0
+
+#Check total number of events in a dictionary
+def integrate(input_dict):
+    total = 0
+    for val in input_dict.values():
+        total += val
+    return total
+
+#Scales the given data desired total number of events passed as argument to option --scale
+def scaleDict(input_dict,scale):
+    scaled_dict = dict()
+    global scaled_integral
+    skipped = 0
+    integral = integrate(input_dict)
+    for key in input_dict.keys():
+        new_val = round((input_dict[key]*scale)/integral)
+        scaled_dict[key] = new_val
+        #This condition checks for zero event elements getting stored in dictionary
+        if new_val == 0.0:
+            skipped += 1
+    #User will be warned in log of how many lumiblocks went unpopulated, and excluded from being written by dressSkeleton to the output file
+    log.warning("Skipped %i lumiblocks for containing less than one event.",skipped)
+    scaled_integral = integrate(scaled_dict)
+    if scaled_integral != scale:
+        log.warning("Final distribution has {} total events! Does not match with {} events requested.".format(scaled_integral,scale))
+    return scaled_dict
+
+#Create scaled dictionary from histogram with:
+# key = mu value at ceneter of bin,
+# value = number of events in that bin
+def extractDict(hist,scale):
+    data = dict()
+    nbins = hist.GetNbinsX()
+    for i in range(1,nbins+1):
+        data[hist.GetBinCenter(i)] = hist.GetBinContent(i)
+    return scaleDict(data,scale)
+
+#Generates the configuration preInclude file for transform jobs
+# rewritten from RunDepTaskMaker.py
+#Parses skeleton file skeletonName and replaces the lines between #<!-- and #-->
+#skeletonName is static, set in this script to RunDependentSimData/share/OverrideRunLBLumiDigitConfig.py
+def dressSkeleton(skeletonName,outName,jobIterator):
+    from AthenaCommon.Include import FindFile,optionsPath
+    sname = FindFile(skeletonName, optionsPath, os.R_OK)
+    if not sname: raise IOError("Input skeleton file {} cannot be read.".format(skeletonName))
+    s = open(sname,'r')
+    outfile = open(outName,'w')
+    outfile.write('#'*20)
+    outfile.write('\n## File {}: autogenerated configuration file from command\n'.format(outName))
+    outfile.write('##' + ' '.join(sys.argv) + '\n')
+    outfile.write('## Created on {}\n'.format(time.asctime()))
+    outfile.write('#'*20+'\n')
+
+    incomment = False
+    dumpedAlready = False
+    for line in s:
+        if (line.find("#<!--") == 0): incomment = True
+        if (line.find("#-->") == 0): incomment = False
+        if not incomment:
+            outfile.write(line)
+        elif not dumpedAlready:
+            for j in jobIterator:
+                if j['evts'] != 0.0:
+                    outfile.write("  {"+formatLine.format(**j)+"},\n")  #Skips all zero event lumiblocks
+                pass
+            dumpedAlready = True
+            pass
+        pass
+    pass
+
+def main():
+    args = parser.parse_args()
+    #Check that the user provided either a .root file or a dictionary
+    if len(sys.argv) == 0 or not args.in_file and not args.ex_dict:
+        parser.print_help()
+        exit(1)
+
+    #If no output file name privided, generate default: "configLumi_runRUN_NUM.py"
+    outFName = args.out_file
+    if not args.out_file:
+        outFName = 'configLumi_run{}.py'.format(args.run_num)
+    #Use first histogram in file to generate dictionary, if no name provided
+    hist = None
+    inFile = None
+    scaled_dict = dict()
+    global scaled_integral
+    if args.in_file:    #If file provided, use it
+        inFile = ROOT.TFile(args.in_file)
+    if (not args.in_hist) and inFile:    #Use first histogram 
+        if inFile.GetListOfKeys().GetSize() > 1:
+            log.warning('Multiple objects found in {}. Only converting first histogram.'.format(args.in_file))
+        for x in range(0,inFile.GetListOfKeys().GetSize()):    #Loop works even if only one element in file
+            if inFile.Get(inFile.GetListOfKeys()[x].GetName()).ClassName() == 'TH1F':
+                hist = inFile.Get(inFile.GetListOfKeys()[x].GetName())
+                break
+            else:
+                continue
+        if not hist and not args.ex_dict:
+            print "No histogram found in {} and no dictionary provided. Exiting!".format(args.in_file)
+            exit(1)
+        scaled_dict = extractDict(hist,args.total_events)    #This function collects data from histogram and scales to the input
+    elif (args.in_hist and inFile):
+        hist = inFile.Get(args.in_hist)
+        scaled_dict = extractDict(hist,args.total_events)
+
+    #If a file with histogram was not provided, then scaled_dict should contain zero items at this point.
+    #Checking that a command line dictionary was provided, and scaled_dict not populated will keep the dictionary
+    # from being over written by EX_DICT, unless the scaled dictionary contains only mu values with zero scaled events
+    if args.ex_dict and (len(scaled_dict) == 0):
+        scaled_dict = scaleDict(eval(str(args.ex_dict)),args.total_events)
+
+    if scaled_integral == 0.0:
+        log.warning("All lumiblocks contain zero events after scaling! No luminosity in selected range.")
+    else:
+        log.info('Preparing a RunDMC task configuration object for {} total events'.format(args.total_events))
+        average_mu = sum([ pair[0]*pair[1] for pair in scaled_dict.items() if (pair[0] > 0) and (pair[1] > 0) ])
+        average_mu /= scaled_integral
+        log.info('Average pileup in this task is {}'.format(average_mu))
+        #Now place mu and events into list of lumiblock info called JobMaker, to be written into the configLumi file by dressSkeleton()
+        JobMaker = []
+        #Iterate through items in the dictionary and add to a list in the order they were added to dictionary, should be with increasing lb
+        #Also offsets the timestamp proportional to first nonzero lb.
+        #scaled_dict.items() are (mu,evts) tuples.
+        #Python sorts according to keys, so this loop will iterate over mu values, which is the order they were inserted
+        #    This sorting is unnecessary if using >=python3.6 since dicts in 3.6 are apparently ordered by insertion order.
+        #Uses a counter variable i to calculate the lb starting at 1, and displacement from starting timestamp
+        i = 0
+        for item in sorted(scaled_dict.items()):
+            JobMaker.append( {'run':args.run_num,
+                              'lb':i+1,
+                              'starttstamp':args.start_tstamp+(i*60),
+                              'dt':0.00,
+                              'evts':item[1],
+                              'mu':item[0]} )
+            i += 1
+
+        l = len(JobMaker)
+        log.info('There are {} lumiblocks in this task.'.format(l))
+        if l > 10:
+            log.info('Displaying first and last 5 lumiblocks:')
+            for j in JobMaker[:5]+JobMaker[-5:]: print " ",j
+        else:
+            log.info('Displaying all lumiblocks')
+            for j in JobMaker: print " ",j
+        allLB = iter(JobMaker)
+        skeletonName = "RunDependentSimData/OverrideRunLBLumiDigitConfig.py"
+        dressSkeleton(skeletonName,outFName,allLB)
+
+
+if __name__=="__main__":
+    main()
+
+
diff --git a/Simulation/RunDependentSim/RunDependentSimData/share/configEvtNbr_sequential.py b/Simulation/RunDependentSim/RunDependentSimData/share/configEvtNbr_sequential.py
new file mode 100644
index 00000000000..1ba80741486
--- /dev/null
+++ b/Simulation/RunDependentSim/RunDependentSimData/share/configEvtNbr_sequential.py
@@ -0,0 +1,4 @@
+####################
+## Enable sequential event numbers override
+####################
+SequentialEventNumbers = True
diff --git a/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run304000.py b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run304000.py
new file mode 100644
index 00000000000..062366f7b82
--- /dev/null
+++ b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run304000.py
@@ -0,0 +1,31 @@
+####################
+## File configLumi_run304000.py: autogenerated configuration file from command
+##../../RunDependentSimComps/share/RunDepProfileGenerator.py -e {0.50:0.015,1.50:0.501,2.50:0.466,3.50:0.011,4.50:0.004,5.50:0.002,6.50:0.001} -r 304000 -s 1530000000 -c 1000
+## Created on Fri Jan 12 18:39:06 2018
+####################
+#Run-dependent digi job configuration file.
+#RunDependentSimData/OverrideRunLBLumiDigitConfig.py
+
+#We need to be able to adjust for different dataset sizes.
+if not 'ScaleTaskLength' in dir():   ScaleTaskLength = 1
+_evts = lambda x: int(ScaleTaskLength * x)
+
+if not 'logging' in dir(): import logging
+digilog = logging.getLogger('Digi_trf')
+digilog.info('doing RunLumiOverride configuration from file.')
+JobMaker=[
+  {'run':304000, 'lb':1, 'starttstamp':1530000000, 'dt':0.000, 'evts':_evts(15), 'mu':0.500, 'force_new':False},
+  {'run':304000, 'lb':2, 'starttstamp':1530000060, 'dt':0.000, 'evts':_evts(501), 'mu':1.500, 'force_new':False},
+  {'run':304000, 'lb':3, 'starttstamp':1530000120, 'dt':0.000, 'evts':_evts(466), 'mu':2.500, 'force_new':False},
+  {'run':304000, 'lb':4, 'starttstamp':1530000180, 'dt':0.000, 'evts':_evts(11), 'mu':3.500, 'force_new':False},
+  {'run':304000, 'lb':5, 'starttstamp':1530000240, 'dt':0.000, 'evts':_evts(4), 'mu':4.500, 'force_new':False},
+  {'run':304000, 'lb':6, 'starttstamp':1530000300, 'dt':0.000, 'evts':_evts(2), 'mu':5.500, 'force_new':False},
+  {'run':304000, 'lb':7, 'starttstamp':1530000360, 'dt':0.000, 'evts':_evts(1), 'mu':6.500, 'force_new':False},
+#--> end hiding
+]
+
+include('RunDependentSimData/configCommon.py')
+
+#cleanup python memory
+if not "RunDMC_testing_configuration" in dir():
+    del JobMaker
diff --git a/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run305000.py b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run305000.py
new file mode 100644
index 00000000000..662a9a3a756
--- /dev/null
+++ b/Simulation/RunDependentSim/RunDependentSimData/share/configLumi_run305000.py
@@ -0,0 +1,35 @@
+####################
+## File configLumi_run305000.py: autogenerated configuration file from command
+##../../RunDependentSimComps/share/RunDepProfileGenerator.py -r 305000 -s 1525000000 -c 2000 -o configLumi_run305000.py -e {0.25:0.031,0.75:0.051,1.25:0.153,1.75:0.303,2.25:0.261,2.75:0.077,3.25:0.054,3.75:0.039,4.25:0.024,4.75:0.008,5.25:0.001}
+## Created on Tue Dec 12 16:13:30 2017
+####################
+#Run-dependent digi job configuration file.
+#RunDependentSimData/OverrideRunLBLumiDigitConfig.py
+
+#We need to be able to adjust for different dataset sizes.
+if not 'ScaleTaskLength' in dir():   ScaleTaskLength = 1
+_evts = lambda x: int(ScaleTaskLength * x)
+
+if not 'logging' in dir(): import logging
+digilog = logging.getLogger('Digi_trf')
+digilog.info('doing RunLumiOverride configuration from file.')
+JobMaker=[
+  {'run':305000, 'lb':1, 'starttstamp':1525000000, 'dt':0.000, 'evts':_evts(62), 'mu':0.250, 'force_new':False},
+  {'run':305000, 'lb':2, 'starttstamp':1525000060, 'dt':0.000, 'evts':_evts(102), 'mu':0.750, 'force_new':False},
+  {'run':305000, 'lb':3, 'starttstamp':1525000120, 'dt':0.000, 'evts':_evts(305), 'mu':1.250, 'force_new':False},
+  {'run':305000, 'lb':4, 'starttstamp':1525000180, 'dt':0.000, 'evts':_evts(604), 'mu':1.750, 'force_new':False},
+  {'run':305000, 'lb':5, 'starttstamp':1525000240, 'dt':0.000, 'evts':_evts(521), 'mu':2.250, 'force_new':False},
+  {'run':305000, 'lb':6, 'starttstamp':1525000300, 'dt':0.000, 'evts':_evts(154), 'mu':2.750, 'force_new':False},
+  {'run':305000, 'lb':7, 'starttstamp':1525000360, 'dt':0.000, 'evts':_evts(108), 'mu':3.250, 'force_new':False},
+  {'run':305000, 'lb':8, 'starttstamp':1525000420, 'dt':0.000, 'evts':_evts(78), 'mu':3.750, 'force_new':False},
+  {'run':305000, 'lb':9, 'starttstamp':1525000480, 'dt':0.000, 'evts':_evts(48), 'mu':4.250, 'force_new':False},
+  {'run':305000, 'lb':10, 'starttstamp':1525000540, 'dt':0.000, 'evts':_evts(16), 'mu':4.750, 'force_new':False},
+  {'run':305000, 'lb':11, 'starttstamp':1525000600, 'dt':0.000, 'evts':_evts(2), 'mu':5.250, 'force_new':False},
+#--> end hiding
+]
+
+include('RunDependentSimData/configCommon.py')
+
+#cleanup python memory
+if not "RunDMC_testing_configuration" in dir():
+    del JobMaker
diff --git a/Simulation/SimulationJobOptions/share/g4/postInclude.TRTCuts_Ar15mm_Xe25mm.py b/Simulation/SimulationJobOptions/share/g4/postInclude.TRTCuts_Ar15mm_Xe25mm.py
new file mode 100644
index 00000000000..bc5f27d1b9f
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/g4/postInclude.TRTCuts_Ar15mm_Xe25mm.py
@@ -0,0 +1,15 @@
+#########################################################
+#
+# SimulationJobOptions/postInclude.TRTCuts_Ar15mm_Xe25um.py
+#
+# For a special production to evaluate the effect of high
+# energy deltas on HIP trigger efficiency.
+#########################################################
+
+atlasG4log.info("G4 TRT Config: Setting TRT cut")
+from AthenaCommon.CfgGetter import getService
+import AthenaCommon.SystemOfUnits as Units
+getService('DetectorGeometrySvc').RegionCreators['TRTPhysicsRegionTool'].ElectronCut=0.025*Units.mm
+getService('DetectorGeometrySvc').RegionCreators['TRTPhysicsRegionTool'].PositronCut=0.025*Units.mm
+getService('DetectorGeometrySvc').RegionCreators['TRT_ArPhysicsRegionTool'].ElectronCut=15.*Units.mm
+getService('DetectorGeometrySvc').RegionCreators['TRT_ArPhysicsRegionTool'].PositronCut=15.*Units.mm
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TruthOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TruthOnlyConfig.py
new file mode 100644
index 00000000000..b5ba2c3bd87
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TruthOnlyConfig.py
@@ -0,0 +1,6 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.Truth_setOn()
+DetFlags.Print()
diff --git a/Simulation/Tests/SimCoreTests/test/test_AtlasG4_ReproducibilityTest.sh b/Simulation/Tests/SimCoreTests/test/test_AtlasG4_ReproducibilityTest.sh
new file mode 100755
index 00000000000..234019ff053
--- /dev/null
+++ b/Simulation/Tests/SimCoreTests/test/test_AtlasG4_ReproducibilityTest.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# art-description: Reading single particle gen events, checking that the SkipEvents argument works, using 2015 geometry and conditions
+# art-type: grid
+
+# Run 10 events normally
+AtlasG4_tf.py --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/ttbar_muplusjets-pythia6-7000.evgen.pool.root' --DataRunNumber '222510' --geometryVersion 'ATLAS-R2-2015-03-01-00' --conditionsTag 'OFLCOND-RUN12-SDR-21' --outputHITSFile 'hitsFull.ttbar.pool.root' --maxEvents '10' --skipEvents '0'
+
+echo "art-result: $? unsplit-sim"
+
+# Run first 5 events
+AtlasG4_tf.py --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/ttbar_muplusjets-pythia6-7000.evgen.pool.root' --DataRunNumber '222510' --geometryVersion 'ATLAS-R2-2015-03-01-00' --conditionsTag 'OFLCOND-RUN12-SDR-21' --outputHITSFile 'hitsHalf1.ttbar.pool.root' --maxEvents '5' --skipEvents '0'
+
+echo "art-result: $? split-sim1"
+
+# Run next 5 events
+AtlasG4_tf.py --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/ttbar_muplusjets-pythia6-7000.evgen.pool.root' --DataRunNumber '222510' --geometryVersion 'ATLAS-R2-2015-03-01-00' --conditionsTag 'OFLCOND-RUN12-SDR-21' --outputHITSFile 'hitsHalf2.ttbar.pool.root' --maxEvents '5' --skipEvents '5'
+
+echo "art-result: $? split-sim2"
+
+# Merge the partial files
+HITSMerge_tf.py --inputHitsFile hitsHalf1.ttbar.pool.root \
+                                hitsHalf2.ttbar.pool.root \
+                --outputHitsFile 'hitsMerged.ttbar.pool.root'
+
+echo "art-result: $? split-merge"
+
+# Run a dummy merge on the full hits file to deal with lossy compression:
+HITSMerge_tf.py --inputHitsFile 'hitsFull.ttbar.pool.root' --outputHitsFile 'hitsFullMerged.ttbar.pool.root'
+
+echo "art-result: $? dummy-merge"
+
+# Compare the merged outputs
+acmd.py diff-root hitsFullMerged.ttbar.pool.root hitsMerged.ttbar.pool.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings
+
+echo "art-result: $? comparison"
diff --git a/TileCalorimeter/TileGeoModel/python/TileGMConfig.py b/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
new file mode 100644
index 00000000000..3fbee878718
--- /dev/null
+++ b/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
@@ -0,0 +1,12 @@
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AtlasGeoModel.GeoModelConfig import GeoModelCfg
+
+def TileGMCfg(ConfigFlags):
+    result=ComponentAccumulator()
+    
+    result.executeModule(GeoModelCfg,ConfigFlags)
+
+    from TileGeoModel.TileGeoModelConf import TileDetectorTool
+    result.getService("GeoModelSvc").DetectorTools += [ TileDetectorTool() ]
+
+    return result
diff --git a/Tools/ART/python/ART/art_configuration.py b/Tools/ART/python/ART/art_configuration.py
new file mode 100644
index 00000000000..1e8910b62dd
--- /dev/null
+++ b/Tools/ART/python/ART/art_configuration.py
@@ -0,0 +1,118 @@
+#!/usr/bin/env python
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+"""Interface to the general ART configuration."""
+
+__author__ = "Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>"
+
+import fnmatch
+import logging
+import yaml
+
+MODULE = "art.configuration"
+
+
+class ArtConfiguration(object):
+    """Class to interface to the ART configuration."""
+
+    ALL = 'All'
+    SEPARATOR = '/'
+
+    def __init__(self, config_file=None):
+        """Init."""
+        log = logging.getLogger(MODULE)
+        if config_file is None:
+            config_file = 'art-configuration.yml'
+        try:
+            f = open(config_file, "r")
+            self.config = yaml.load(f)
+            f.close()
+        except IOError:
+            log.critical("Cannot read %s", config_file)
+            exit(2)
+
+    def release_key(self, nightly_release, project, platform):
+        """
+        Return release key.
+
+        Format is: /21.0/Athena/x86_64-slc6-gcc62-opt
+        """
+        return ArtConfiguration.SEPARATOR + ArtConfiguration.SEPARATOR.join((nightly_release, project, platform))
+
+    def release_key_compare(self, x, y):
+        """Compare two release keys."""
+        xa = x.split(ArtConfiguration.SEPARATOR)
+        ya = y.split(ArtConfiguration.SEPARATOR)
+
+        for index, item in sorted(enumerate(xa), None, None, True):
+            if xa[index] < ya[index]:
+                return -1
+            elif xa[index] > ya[index]:
+                return +1
+        return 0
+
+    def keys(self, nightly_release, project, platform, package=None):
+        """Return all keys for all matching patterns for one specific package."""
+        if self.config is None:
+            return []
+
+        if package is None:
+            package = ArtConfiguration.ALL
+
+        if package not in self.config:
+            return []
+
+        keys = []
+        for pattern in self.config[package]:
+            if fnmatch.fnmatch(self.release_key(nightly_release, project, platform), pattern):
+                for key in self.config[package][pattern].keys():
+                    if key not in keys:
+                        keys.append(key)
+
+        return keys
+
+    def get(self, nightly_release, project, platform, package, key, default_value=None):
+        """Return most specific value for specified key and matching pattern.
+
+        By specifying more specific release_keys in the file [/21.0/*...]
+        one can override less specific keys [/*/*...]
+        (order in the file is not important):
+
+        Tier0ChainTests:
+            /*/*/*:
+                dst: /yourlocaldirectory
+            /21.0/*/*:
+                dst: /eos/atlas/atlascerngroupdisk/data-art/grid-output
+
+        """
+        log = logging.getLogger(MODULE)
+        log.debug("Looking for %s %s %s %s %s", nightly_release, project, platform, package, key)
+        if self.config is None:
+            log.debug("No configuration")
+            return default_value
+
+        if package is None:
+            log.debug("%s used for package", ArtConfiguration.ALL)
+            package = ArtConfiguration.ALL
+
+        if package not in self.config:
+            log.debug("%s not in config", package)
+            return default_value
+
+        value = default_value
+        for pattern in sorted(self.config[package], self.release_key_compare):
+            release_key = self.release_key(nightly_release, project, platform)
+            log.debug("release_key %s", release_key)
+            # print key, pattern
+            if fnmatch.fnmatch(release_key, pattern):
+                log.debug("matched %s", pattern)
+                release = self.config[package][pattern]
+                if key in release:
+                    value = release[key]
+
+        log.debug("Value %s", value)
+        return value
+
+    def get_option(self, nightly_release, project, platform, package, key, option_key):
+        """TBD."""
+        value = self.get(nightly_release, project, platform, package, key)
+        return option_key + value if value is not None else ''
diff --git a/Tools/ART/python/ART/art_rucio.py b/Tools/ART/python/ART/art_rucio.py
new file mode 100755
index 00000000000..4cfcdef9e5d
--- /dev/null
+++ b/Tools/ART/python/ART/art_rucio.py
@@ -0,0 +1,217 @@
+#!/usr/bin/env python
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+"""Class to interact with RUCIO."""
+
+__author__ = "Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>"
+
+import atexit
+import json
+import logging
+import os
+import re
+import shutil
+import tarfile
+import tempfile
+
+try:
+    import rucio.client
+    RUCIO = True
+except ImportError:
+    RUCIO = False
+
+from art_misc import run_command
+
+MODULE = "art.rucio"
+
+
+class ArtRucio(object):
+    """Class to interact with RUCIO."""
+
+    ART_JOB = 'art-job.json'
+    ATHENA_STDOUT = 'athena_stdout.txt'
+    JOB_TAR = 'job.tar'
+    JSON = '_EXT0'
+    LOG = '.log'
+    LOG_TGZ = 'log.tgz'
+    OUTPUT = '_EXT1'
+
+    def __init__(self):
+        """Keep arguments."""
+        pass
+
+    def exit_if_no_rucio(self):
+        """Exit if RUCIO is not available."""
+        log = logging.getLogger(MODULE)
+        if not RUCIO:
+            log.critical("RUCIO not available")
+            exit(1)
+
+    def get_scope(self, user):
+        """Return scope."""
+        return '.'.join(('user', user))
+
+    def download(self, did, dst_dir):
+        """Download did into temp directory."""
+        log = logging.getLogger(MODULE)
+        self.exit_if_no_rucio()
+
+        # rucio downloads cache properly
+        (exit_code, out, err) = run_command("rucio download --dir " + dst_dir + " " + did)
+        if (exit_code != 0):
+            log.error(err)
+        log.info(out)
+        return exit_code
+
+    def xrdcp(self, src, dst, force=False, recursive=False, verbose=False):
+        """Copy using xrdcp."""
+        if src is None or dst is None:
+            return 1
+        log = logging.getLogger(MODULE)
+        cmd = ' '.join(('xrdcp -N', '-f' if force else '', '-r' if recursive else '', '-v' if verbose else '', src, dst))
+        log.debug(cmd)
+        (exit_code, out, err) = run_command(cmd, verbose=False)
+        if exit_code != 0:
+            log.error(err)
+        # seems to write empty lines
+        # log.info(out)
+        return exit_code
+
+    def get_outfile(self, user, package, nightly_release, project, platform, nightly_tag, sequence_tag='*', test_name=None):
+        """Create outfile from parameters."""
+        if nightly_tag is None:
+            nightly_tag = self.nightly_tag
+
+        outfile = '.'.join(('user', user, 'atlas', nightly_release, project, platform, nightly_tag, sequence_tag, package))
+        if sequence_tag == '*':
+            self.exit_if_no_rucio()
+            rucio_client = rucio.client.Client()
+            for out in rucio_client.list_dids(self.get_scope(user), {'name': '.'.join((outfile, 'log'))}):
+                outfile = os.path.splitext(out)[0]
+        return outfile if test_name is None else '.'.join((outfile, test_name))
+
+    # private
+    def get_rucio_map(self, user, outfile):
+        """Return map of entries by grid_index into { source, rucio_name }."""
+        log = logging.getLogger(MODULE)
+        log.debug("Looking for %s", outfile)
+        self.exit_if_no_rucio()
+
+        CERN = 'CERN-PROD_SCRATCHDISK'
+
+        LOG_PATTERN = r"\.(\d{6})\.log\.tgz"
+        JSON_PATTERN = r"\._(\d{6})\.art-job\.json"
+        OUTPUT_PATTERN = r"\._(\d{6})\.tar"
+        table = {}
+        rucio_client = rucio.client.Client()
+        for rep in rucio_client.list_replicas([{'scope': self.get_scope(user), 'name': outfile}], schemes=['root']):
+            source = None
+            rucio_name = None
+            log.debug("Found in %s", rep['states'].keys())
+            # first look at CERN
+            if CERN in rep['states'].keys() and rep['states'][CERN] == 'AVAILABLE':
+                source = CERN
+                rucio_name = rep['rses'][CERN][0]
+            else:
+                for rse in rep['states'].keys():
+                    if rep['states'][rse] == 'AVAILABLE' and len(rep['rses'][rse]) >= 1:
+                        source = rse
+                        rucio_name = rep['rses'][rse][0]
+                        break
+
+            # maybe not found at all
+            if rucio_name is not None:
+                log.debug("Found rucio name %s in %s", rucio_name, source)
+                pattern = JSON_PATTERN if outfile.endswith(ArtRucio.JSON) else LOG_PATTERN if outfile.endswith(ArtRucio.LOG) else OUTPUT_PATTERN
+                match = re.search(pattern, rucio_name)
+                if match:
+                    number = int(match.group(1))
+                else:
+                    log.warning("%s does not contain test number using pattern %s skipped...", rucio_name, pattern)
+                    continue
+
+                table[number] = {'source': source, 'rucio_name': rucio_name}
+
+        if not table:
+            log.warning("Outfile %s not found or empty", outfile)
+        return table
+
+    def get_index_map(self, user, sequence_tag, package, nightly_release, project, platform, nightly_tag):
+        """Return grid map of job_name to index."""
+        outfile = self.get_outfile(user, package, nightly_release, project, platform, nightly_tag, sequence_tag)
+
+        # if outfile in self.index_map_cache:
+        #    return self.index_map_cache[outfile]
+
+        result = {}
+        for index in self.get_indices(user, outfile + ArtRucio.LOG):
+            test_name = self.get_job_name(user, index, package, sequence_tag, nightly_release, project, platform, nightly_tag)
+            if test_name is None:
+                # log.warning("JSON Lookup failed for test %s", rucio_log_name if rucio_name is None else rucio_name)
+                continue
+
+            result[test_name] = int(index)
+
+        # self.index_map_cache[outfile] = result
+        return result
+
+    def get_rucio_name(self, user, outfile, index):
+        """Return rucio name for given outfile and index."""
+        rucio_map = self.get_rucio_map(user, outfile)
+        return rucio_map[index]['rucio_name'] if index in rucio_map else None
+
+    def get_indices(self, user, outfile):
+        """Return list of indices."""
+        return self.get_rucio_map(user, outfile).keys()
+
+    def get_job_name(self, user, index, package, sequence_tag, nightly_release, project, platform, nightly_tag):
+        """
+        Return job name for index.
+
+        job_name is without .sh or .py
+        """
+        log = logging.getLogger(MODULE)
+        self.exit_if_no_rucio()
+
+        outfile = self.get_outfile(user, package, nightly_release, project, platform, nightly_tag, sequence_tag)
+        log.debug("outfile %s", outfile)
+
+        tmp_dir = tempfile.mkdtemp()
+        atexit.register(shutil.rmtree, tmp_dir)
+
+        tmp_json = os.path.join(tmp_dir, ArtRucio.ART_JOB)
+        rucio_name = self.get_rucio_name(user, outfile + ArtRucio.JSON, index)
+        if self.xrdcp(rucio_name, tmp_json, force=True) == 0:
+            log.debug("copied json %s", rucio_name)
+            with open(tmp_json) as json_file:
+                info = json.load(json_file)
+                job_name = os.path.splitext(info['name'])[0]
+                return job_name
+
+        tmp_log = os.path.join(tmp_dir, ArtRucio.LOG_TGZ)
+        rucio_log_name = self.get_rucio_name(user, outfile + ArtRucio.LOG, index)
+        if self.xrdcp(rucio_log_name, tmp_log, force=True) == 0:
+            log.debug("copied log %s %s", rucio_log_name, tmp_log)
+            tar = tarfile.open(tmp_log)
+            for name in tar.getnames():
+                if ArtRucio.ATHENA_STDOUT in name:
+                    log.debug("Found %s", ArtRucio.ATHENA_STDOUT)
+                    info = tar.extractfile(name).read()
+                    # try art-job-name
+                    match = re.search(r"art-job-name:\s(\S+)", info)
+                    if match:
+                        log.debug("Found 'art-job-name'")
+                        return os.path.splitext(match.group(1))[0]
+
+                    # try Job Name
+                    match = re.search(r"Job Name:\s(\S+)", info)
+                    if match:
+                        log.debug("Found 'Job Name:'")
+                        return os.path.splitext(match.group(1))[0]
+
+        log.debug("Cannot retrieve job_name from art-job.json or logfile")
+        return None
+
+    def get_index(self, user, sequence_tag, package, job_name, nightly_release, project, platform, nightly_tag):
+        """Return index for job_name."""
+        index_map = self.get_index_map(user, sequence_tag, package, nightly_release, project, platform, nightly_tag)
+        return index_map[job_name] if job_name in index_map else -1
diff --git a/Trigger/TrigAlgorithms/TrigmuComb/TrigmuComb/muCombMT.h b/Trigger/TrigAlgorithms/TrigmuComb/TrigmuComb/muCombMT.h
new file mode 100755
index 00000000000..f3443f0cebd
--- /dev/null
+++ b/Trigger/TrigAlgorithms/TrigmuComb/TrigmuComb/muCombMT.h
@@ -0,0 +1,216 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ********************************************************************
+// 
+// NAME:     muCombMT.h
+// PACKAGE:  Trigger/TrigAlgorithms/TrigmuComb
+// 
+// AUTHORS:   S. Giagu <stefano.giagu@cern.ch>
+// 
+// PURPOSE:  LVL2 Combined Muon FEX Algorithm (MT version)
+// ********************************************************************
+
+#ifndef MUCOMBMT_H
+#define MUCOMBMT_H
+
+// standard stuff
+#include <vector>
+#include <cmath> 
+
+// general athena stuff
+#include "GaudiKernel/IToolSvc.h"
+
+//Gaudi
+#include "GaudiKernel/ToolHandle.h"
+#include "GaudiKernel/ServiceHandle.h"
+
+// Base class
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "StoreGate/WriteHandleKey.h"
+
+#include "TrkExInterfaces/IExtrapolator.h"
+#include "MagFieldInterfaces/IMagFieldSvc.h"
+
+#include "xAODTrigMuon/L2CombinedMuonContainer.h"
+#include "xAODTracking/TrackParticleContainer.h"
+#include "xAODTracking/TrackParticle.h"
+
+//#include "TrigSteeringEvent/TrigRoiDescriptor.h"
+//#include "TrigT1Interfaces/RecMuonRoI.h"
+
+#include "AthenaMonitoring/GenericMonitoringTool.h"
+
+/** Main LVL2 Algorithm. Sided by a xAOD::L2StandaloneMuon, match the muon spectrometer track with an ID track, and produces a xAOD::L2CombinedMuon. */
+class muCombMT : public AthAlgorithm
+{
+ public:
+  /** Constructor */
+  muCombMT(const std::string&, ISvcLocator*);
+  /** Destructor */
+  ~muCombMT(){};
+   
+  /** initialize. Called by the Steering. */
+  StatusCode initialize();
+  /** finalize. Called by the Steering. */
+  StatusCode finalize();
+  /** execute execute the combined muon FEX. */ 
+  StatusCode execute();
+   
+ private:
+
+  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_TrackParticleContainerKey{ this,
+      "TrackParticlesContainerName",            // property name
+      "InDetTrigTrackingxAODCnv_Muon_FTF",      // default value of StoreGate key
+      "input TrackParticle container name"};
+
+  SG::ReadHandleKey<xAOD::L2StandAloneMuonContainer> m_muonCollKey{ this,
+      "L2StandAloneMuonContainerName",          // property name
+      "xAOD::L2StandAloneMuonContainer",        // default value of StoreGate key
+      "input L2StandAloneMuon Container name"};
+
+
+  SG::WriteHandleKey<xAOD::L2CombinedMuonContainer> m_outputCBmuonCollKey{ this,
+      "L2CombinedMuonContainerName",           // property name
+      "MuonL2CBInfo",                          // default value of StoreGate key
+      "output CB Muon container name"};
+
+  ToolHandle<GenericMonitoringTool> m_monTool;
+
+  /** Handle to the G4 backExtrapolator tool */
+  //ToolHandle<Trk::IExtrapolator>  m_backExtrapolatorG4;  
+  PublicToolHandle<Trk::IExtrapolator> m_backExtrapolatorG4 {this,
+     "AtlasExtrapolator",
+     "Trk::Extrapolator/AtlasExtrapolator",
+     "Tool to backextrapolate muon from MS to IP (G4 based)"};
+
+  /** Handle to the Magnetic field service */
+  //ServiceHandle<MagField::IMagFieldSvc> m_magFieldSvc;       //!< helper tool to get the magnetic field
+  MagField::IMagFieldSvc* m_MagFieldSvc; 
+
+
+  int    drptMatch(double, double, double,
+                   double, double, double, int, 
+		   double&, double&, double&, double&, double&);
+
+  int    drptMatch(const xAOD::L2StandAloneMuon* feature, 
+                   double, double, double, int, 
+		   double&, double&, double&, double&, double&);
+
+  int    mfMatch(const xAOD::L2StandAloneMuon* feature, 
+                 double, double, double, double,
+		 double&, double&, double&, double&, double&, int&);
+
+  int    g4Match(const xAOD::L2StandAloneMuon* feature,
+                 double, double, double, double, double, double, double,
+		 double&, double&, double&, double&, double&, int&);
+
+ private:
+
+  // Properties
+
+  /** flag to switch between G4 and LUT based back-extrapolation */
+   Gaudi::Property<bool> m_useBackExtrapolatorG4 {this, "UseBackExtrapolatorG4", true, "Use g4-based back-extraploator"};
+
+  /** flag to assume B_Toroid=0 anyway */
+   Gaudi::Property<bool> m_assumeToroidOff       {this, "AssumeToroidOff",       false, "Force assumption toroid off"};
+  /** flag to assume B_Solenoid=0 anyway */
+   Gaudi::Property<bool> m_assumeSolenoidOff     {this, "AssumeSolenoidOff",     false, "Force assumption solenoid off"};
+
+
+  /** muComb matching strategy:
+   *  0: auto select best option
+   *  1: simplified R,(Pt) matching
+   */
+   Gaudi::Property<int> m_AlgoStrategy {this, "MuCombStrategy", 0, "Algoritgm strategy [0=auto select best option,1=simple angular match]"};
+
+  /** muComb charge assignment strategy:
+   *  0: useMuFast
+   *  1: use ID
+   *  2: use resolution model
+   */
+   Gaudi::Property<int> m_ChargeStrategy {this, "ChargeStrategy", 0, "Charge assignement strategy [0=muFast,1=ID,2=resolution based]"};
+
+  /** ID Track collection used for matching */
+   Gaudi::Property<std::string> m_ID_algo_to_use {this, "IDalgo", "InDetTrigTrackingxAODCnv_Muon_FTF","ID trk xAOD collection to use"};
+
+  /** Min Pt to select the ID track for matching */
+   Gaudi::Property<double> m_PtMinTrk  {this, "MinPtTRK",     1.*CLHEP::GeV, "ID track minimum pT"}; //GeV/c
+  /** Max abs(eta) to select the ID track for matching */
+   Gaudi::Property<double> m_EtaMaxTrk {this, "MaxAbsEtaTRK", 2.5, "ID tracks max |eta|"};
+
+   // Matching Parameters
+   //Common
+  /** Min Number of DOF to apply the chi2 cut on macthing based on LUT and G4 backextrapolators */
+   Gaudi::Property<int>  m_NdofMin   {this, "NdofMin",     9999, "matching parameter: min ndof"};
+  /** Use Absolute value of the Pt in chi2 calculation (i.e. not use muon charge) */
+   Gaudi::Property<bool> m_UseAbsPt  {this, "UseAbsPt",    false, "matching parameter: use absolute pT"};
+
+   // LUT based backextrapolator
+  /** Number of sigmas for the Eta matching window LUT backextrapolator (Barrel) */
+   Gaudi::Property<double>  m_WinEta         {this, "WinEtaSigma",          4.0, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Phi matching window LUT backextrapolator (Barrel) */
+   Gaudi::Property<double>  m_WinPhi         {this, "WinPhiSigma",          4.0, "matching parameter: LUT-based"};
+  /** Max Chi2 for the combined muon in LUT backextrapolator (Barrel) */
+   Gaudi::Property<double>  m_Chi2Max        {this, "Chi2Max",              1.e33, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps) */
+   Gaudi::Property<double>  m_WinEta_EC      {this, "WinEtaSigmaEndCaps",   4.0, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps) */
+   Gaudi::Property<double>  m_WinPhi_EC      {this, "WinPhiSigmaEndCaps",   10., "matching parameter: LUT-based"};
+  /** Max Chi2 for the combined muon in LUT backextrapolator (EndCaps) */
+   Gaudi::Property<double>  m_Chi2Max_EC     {this, "Chi2MaxEndCaps",       1.e33, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Eta matching window LUT backextrapolator (Trigger Stations) */
+   Gaudi::Property<double>  m_WinEta_TS      {this, "WinEtaSigmaTS",        5.0, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Phi matching window LUT backextrapolator (Trigger Stations) */
+   Gaudi::Property<double>  m_WinPhi_TS      {this, "WinPhiSigmaTS",        5.0, "matching parameter: LUT-based"};
+  /** Max Chi2 for the combined muon in LUT backextrapolator (Trigger Stations) */
+   Gaudi::Property<double>  m_Chi2Max_TS     {this, "Chi2MaxTS",            1.e33, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Eta matching window LUT backextrapolator (MS Feet region) */
+   Gaudi::Property<double>  m_WinEta_FE      {this, "WinEtaSigmaFE",        10.0, "matching parameter: LUT-based"};
+  /** Number of sigmas for the Phi matching window LUT backextrapolator (MS Feet region) */
+   Gaudi::Property<double>  m_WinPhi_FE      {this, "WinPhiSigmaFE",        10.0, "matching parameter: LUT-based"};
+  /** Max Chi2 for the combined muon in LUT backextrapolator (MS Feet region) */
+   Gaudi::Property<double>  m_Chi2Max_FE     {this, "Chi2MaxFE",            1.e33, "matching parameter: LUT-based"};
+  /** Scale factor for the Eta matching window in LUT backextrapolator */
+   Gaudi::Property<double>  m_WeightEta      {this, "WeightEta",            2.0, "matching parameter: LUT-based"};
+  /** Scale factor for the Phi matching window in LUT backextrapolator */
+   Gaudi::Property<double>  m_WeightPhi      {this, "WeightPhi",            2.0, "matching parameter: LUT-based"};
+                                             
+   // g4 based backextrapolator
+  /** Number of sigmas for the Eta matching window LUT backextrapolator (Barrel) */
+   Gaudi::Property<double>  m_WinEta_g4      {this, "WinEtaSigma_g4",       7.0, "matching parameter: G4-based"};
+  /** Number of sigmas for the Phi matching window LUT backextrapolator (Barrel) */
+   Gaudi::Property<double>  m_WinPhi_g4      {this, "WinPhiSigma_g4",       7.0, "matching parameter: G4-based"};
+  /** Max Chi2 for the combined muon in LUT backextrapolator (Barrel) */
+   Gaudi::Property<double>  m_Chi2Max_g4     {this, "Chi2Max_g4",           1.e33, "matching parameter: G4-based"};
+  /** Number of sigmas for the Eta matching window LUT backextrapolator (EndCaps) */
+   Gaudi::Property<double>  m_WinEta_EC_g4   {this, "WinEtaSigmaEndCaps_g4",7.0, "matching parameter: G4-based"};
+  /** Number of sigmas for the Phi matching window LUT backextrapolator (EndCaps) */
+   Gaudi::Property<double>  m_WinPhi_EC_g4   {this, "WinPhiSigmaEndCaps_g4",7.0, "matching parameter: G4-based"};
+  /** Max Chi2 for the combined muon in LUT backextrapolator (EndCaps) */
+   Gaudi::Property<double>  m_Chi2Max_EC_g4  {this, "Chi2MaxEndCaps_g4",    1.e33, "matching parameter: G4-based"};
+  /** Scale factor for the Eta matching window in LUT backextrapolator */
+   Gaudi::Property<double>  m_WeightEta_g4   {this, "WeightEta_g4",         2.0, "matching parameter: G4-based"};
+  /** Scale factor for the Phi matching window in LUT backextrapolator */
+   Gaudi::Property<double>  m_WeightPhi_g4   {this, "WeightPhi_g4",         2.0, "matching parameter: G4-based"};
+  /** Scale factor for the Chi2 1/pt resolutions (MS and ID) (Barrel) */
+   Gaudi::Property<double>  m_Chi2Weight_g4  {this, "Chi2Weight_g4",        2.0, "matching parameter: G4-based"};
+
+   // Simplified DeltaR(/Pt) based match
+  /** max deltaPt for simpified matching */
+   Gaudi::Property<double> m_winPt {this, "WinPt",       -1.0*CLHEP::GeV, "matching parameter (simplifed): pT windows in geV (disabled if < 0)"};
+  /** max deltaR for simplified matching */
+   Gaudi::Property<double> m_winDR {this, "WinDelta",     0.2, "matching parameter (simplifed): strategy dependent"};
+
+   // ID parametrized rsolution for matching
+   Gaudi::Property<std::vector<double>> m_IDSCANRes_barrel  {this, "IDSCANBarrelRes", {0.017, 0.000000418}, "ID parametrized rsolution for matching (barrel)"};
+   Gaudi::Property<std::vector<double>> m_IDSCANRes_endcap1 {this, "IDSCANEndcap1Res",{0.025, 0.0000002}, "ID parametrized rsolution for matching (ec1)"};
+   Gaudi::Property<std::vector<double>> m_IDSCANRes_endcap2 {this, "IDSCANEndcap2Res",{0.030, 0.0000002}, "ID parametrized rsolution for matching (ec2)"};
+   Gaudi::Property<std::vector<double>> m_IDSCANRes_endcap3 {this, "IDSCANEndcap3Res",{0.036, 0.0000004}, "ID parametrized rsolution for matching (ec3)"};
+   Gaudi::Property<std::vector<double>> m_IDSCANRes_endcap4 {this, "IDSCANEndcap4Res",{0.046, 0.0000002}, "ID parametrized rsolution for matching (ec4)"};
+
+};
+DECLARE_ALGORITHM_FACTORY( muCombMT )
+#endif // MUCOMB_H
diff --git a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombMTConfig.py b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombMTConfig.py
new file mode 100755
index 00000000000..75d3e1c27b7
--- /dev/null
+++ b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombMTConfig.py
@@ -0,0 +1,92 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+##############################
+# L2 muCombMT Fex Algorithm Configuration:
+# Stefano Giagu <stefano.giagu@cern.ch>
+##############################
+
+
+from TrigmuComb.TrigmuCombConf import muCombMT
+from AthenaCommon.SystemOfUnits import GeV
+from TriggerJobOpts.TriggerFlags import TriggerFlags
+from AthenaCommon.GlobalFlags import globalflags
+from MuonByteStream.MuonByteStreamFlags import muonByteStreamFlags
+from AthenaCommon.AppMgr import ServiceMgr
+from AthenaCommon.AppMgr import ToolSvc
+from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool,defineHistogram
+
+class TrigmuCombMTConfig (muCombMT):
+    __slots__ = []
+    def __new__( cls, *args, **kwargs ):
+      newargs = ['%s_%s_%s' % (cls.getType(),args[0],args[1]) ] + list(args)
+      if len(args) == 3:
+        if args[2] == 'OLDextr':
+          newargs = ['%s_%s_%s_%s' % (cls.getType(),args[0],args[1],args[2]) ] + list(args)
+      return super( TrigmuCombMTConfig, cls ).__new__( cls, *newargs, **kwargs )
+
+    def __init__( self, name, *args, **kwargs ):
+      super( TrigmuCombMTConfig, self ).__init__( name )
+
+      self.MuCombStrategy = 0
+
+      self.UseBackExtrapolatorG4 = True
+      if len(args) == 3:
+        if args[2] == 'OLDextr':
+          self.UseBackExtrapolatorG4 = False
+
+      self.MinPtTRK = 0.* GeV
+
+      # matchign windows parameters tuned in 2016 and 2015 data (T&P Z  and J/psi samples)
+      self.WinEtaSigma_g4 = 7.0
+      self.WinPhiSigma_g4 = 7.0
+      self.Chi2Weight_g4  = 2.0
+      if TriggerFlags.run2Config=='2016':
+        self.WinEtaSigma_g4 = 4.0
+        self.WinPhiSigma_g4 = 4.0
+        self.Chi2Weight_g4  = 1.0
+
+      # pt resolution parameters for ID-SAmuon match from SAmuon developers (2016 data)
+      if globalflags.DetDescrVersion().find('CSC')!=-1:
+        self.IDSCANBarrelRes  = [0.02169,0.0004186]
+        self.IDSCANEndcap1Res = [0.03054,0.000325]
+        self.IDSCANEndcap2Res = [0.03557,0.0005383]
+        self.IDSCANEndcap3Res = [0.04755,0.0007718]
+        self.IDSCANEndcap4Res = [0.06035,0.0001145]
+
+      if 'Validation' in TriggerFlags.enableMonitoring():
+        monTool = GenericMonitoringTool('MonTool')
+        monTool.Histograms = [ defineHistogram('Efficiency', path='EXPERT', type='TH1F', title="Monitored Track matching efficiency from #muComb", xbins=3, xmin=-1.5, xmax=1.5) ]
+        monTool.Histograms += [ defineHistogram('ErrorFlagMC', path='EXPERT', type='TH1F', title="Error Flags during event processing from #muComb; Error Code", xbins=12, xmin=-1.5, xmax=10.5) ]
+        monTool.Histograms += [ defineHistogram('MatchFlagMC', path='EXPERT', type='TH1F', title="Match Flags during matching algo from #muComb; Error Code", xbins=12, xmin=-1.5, xmax=10.5) ]
+        monTool.Histograms += [ defineHistogram('StrategyMC', path='EXPERT', type='TH1F', title="Combination Strategy from #muComb; Strategy Code", xbins=12, xmin=-1.5, xmax=10.5) ]
+        monTool.Histograms += [ defineHistogram('PtMS', path='EXPERT', type='TH1F', title="p_{T} MS from #muComb; p_{T} (GeV/c)", xbins=210, xmin=-105., xmax=105.) ]
+        monTool.Histograms += [ defineHistogram('PtID', path='EXPERT', type='TH1F', title="p_{T} ID from #muComb; p_{T} (GeV/c)", xbins=210, xmin=-105., xmax=105.) ]
+        monTool.Histograms += [ defineHistogram('PtMC', path='EXPERT', type='TH1F', title="p_{T} Combined from #muComb; p_{T} (GeV/c)", xbins=210, xmin=-105., xmax=105.) ]
+        monTool.Histograms += [ defineHistogram('PtFL', path='EXPERT', type='TH1F', title="MS p_{T} failed matches from #muComb; p_{T} (GeV/c)", xbins=210, xmin=-105., xmax=105.) ]
+        monTool.Histograms += [ defineHistogram('EtaFL', path='EXPERT', type='TH1F', title="MS Eta failed matchs from #muComb; Eta", xbins=108, xmin=-2.7, xmax=2.7) ]
+        monTool.Histograms += [ defineHistogram('PhiFL', path='EXPERT', type='TH1F', title="MS Phi failed matches from #muComb; Phi (rad)", xbins=96, xmin=-3.1416, xmax=3.1416) ]
+        monTool.Histograms += [ defineHistogram('EtaID', path='EXPERT', type='TH1F', title="Eta ID from #muComb; Eta", xbins=108, xmin=-2.7, xmax=2.7) ]
+        monTool.Histograms += [ defineHistogram('ZetaID', path='EXPERT', type='TH1F', title="z0 ID from #muComb; z0 (mm)", xbins=100, xmin=-200., xmax=200.) ]
+        monTool.Histograms += [ defineHistogram('EtaMS', path='EXPERT', type='TH1F', title="Eta MS from #muComb; Eta", xbins=108, xmin=-2.7, xmax=2.7) ]
+        monTool.Histograms += [ defineHistogram('ZetaMS', path='EXPERT', type='TH1F', title="z0 MS from #muComb; z0 (mm)", xbins=100, xmin=-200., xmax=200.) ]
+        monTool.Histograms += [ defineHistogram('DEta', path='EXPERT', type='TH1F', title="Eta difference between muon and matched ID track from #muComb; DeltaEta", xbins=100, xmin=0.0, xmax=0.2) ]
+        monTool.Histograms += [ defineHistogram('DPhi', path='EXPERT', type='TH1F', title="Phi difference between muon and matched ID track from #muComb; DeltaPhi (rad)", xbins=100, xmin=0.0, xmax=0.2) ]
+        monTool.Histograms += [ defineHistogram('DZeta', path='EXPERT', type='TH1F', title="Zeta difference between muon and matched ID track from #muComb; DeltaZeta (cm)", xbins=100, xmin=-60, xmax=60) ]
+        monTool.Histograms += [ defineHistogram('DeltaR', path='EXPERT', type='TH1F', title="DeltaR between muon and matched ID track from #muComb; DeltaR", xbins=100, xmin=0., xmax=0.5) ]
+        monTool.Histograms += [ defineHistogram('PtMS, PtID', path='EXPERT', type='TH2F', title="PtID vs PtMS from #muComb", xbins=105, xmin=-105.0, xmax=105.0, ybins=105, ymin=-105.0, ymax=105.0) ]
+        monTool.Histograms += [ defineHistogram('EtaMS, DEta', path='EXPERT', type='TH2F', title="Eta diff (MS-ID) vs Eta(MS) from #muComb", xbins=100, xmin=-3, xmax=3, ybins=100, ymin=0.0, ymax=0.2) ]
+        monTool.Histograms += [ defineHistogram('EtaMS, DPhi', path='EXPERT', type='TH2F', title="Phi diff (MS-ID) vs Eta(MS) from #muComb", xbins=100, xmin=-3, xmax=3, ybins=100, ymin=0.0, ymax=0.2) ]
+        self.MonTool = monTool
+
+      if 'Online' in  TriggerFlags.enableMonitoring():
+        monTool = GenericMonitoringTool('MonTool')
+        monTool.Histograms += [ defineHistogram('ErrorFlagMC', path='EXPERT', type='TH1F', title="Error Flags during event processing from #muComb; Error Code", xbins=12, xmin=-1.5, xmax=10.5) ]
+        monTool.Histograms += [ defineHistogram('MatchFlagMC', path='EXPERT', type='TH1F', title="Match Flags during matching algo from #muComb; Error Code", xbins=12, xmin=-1.5, xmax=10.5) ]
+        monTool.Histograms += [ defineHistogram('StrategyMC', path='EXPERT', type='TH1F', title="Combination Strategy from #muComb; Strategy Code", xbins=12, xmin=-1.5, xmax=10.5) ]
+        monTool.Histograms += [ defineHistogram('PtMC', path='EXPERT', type='TH1F', title="p_{T} Combined from #muComb; p_{T} (GeV/c)", xbins=210, xmin=-105., xmax=105.) ]
+        monTool.Histograms += [ defineHistogram('PtFL', path='EXPERT', type='TH1F', title="MS p_{T} failed matches from #muComb; p_{T} (GeV/c)", xbins=210, xmin=-105., xmax=105.) ]
+        monTool.Histograms += [ defineHistogram('EtaFL', path='EXPERT', type='TH1F', title="MS Eta failed matchs from #muComb; Eta", xbins=108, xmin=-2.7, xmax=2.7) ]
+        monTool.Histograms += [ defineHistogram('PhiFL', path='EXPERT', type='TH1F', title="MS Phi failed matches from #muComb; Phi (rad)", xbins=96, xmin=-3.1416, xmax=3.1416) ]
+        monTool.Histograms += [ defineHistogram('DEta', path='EXPERT', type='TH1F', title="Eta difference between muon and matched ID track from #muComb; DeltaEta", xbins=100, xmin=0.0, xmax=0.2) ]
+        monTool.Histograms += [ defineHistogram('DPhi', path='EXPERT', type='TH1F', title="Phi difference between muon and matched ID track from #muComb; DeltaPhi (rad)", xbins=100, xmin=0.0, xmax=0.2) ]
+        self.MonTool = monTool
diff --git a/Trigger/TrigAlgorithms/TrigmuComb/src/muCombMT.cxx b/Trigger/TrigAlgorithms/TrigmuComb/src/muCombMT.cxx
new file mode 100755
index 00000000000..29a0986c4f4
--- /dev/null
+++ b/Trigger/TrigAlgorithms/TrigmuComb/src/muCombMT.cxx
@@ -0,0 +1,862 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ********************************************************************
+//
+// NAME:     muCombMT.cxx
+// PACKAGE:  Trigger/TrigAlgorithms/TrigmuComb
+// VERSION:  V3 (MT Version)
+//
+// AUTHOR:   S.Giagu <stefano.giagu@cern.ch>
+//
+// ********************************************************************
+#include <sstream>
+#include <math.h>
+
+#include "TrigmuComb/muCombMT.h"
+#include "TrigmuComb/muCombUtil.h"
+#include "PathResolver/PathResolver.h"
+#include "TrigConfHLTData/HLTTriggerElement.h"
+#include "xAODTrigMuon/TrigMuonDefs.h"
+#include "xAODTrigMuon/L2StandAloneMuonContainer.h"
+#include "xAODTrigMuon/L2StandAloneMuonAuxContainer.h"
+#include "xAODTrigMuon/L2CombinedMuonAuxContainer.h"
+#include "xAODTracking/TrackParticleContainer.h"
+#include "TrigSiSpacePointTool/ISpacePointProvider.h"
+#include "AthenaMonitoring/MonitoredScope.h"
+
+#include "CLHEP/Units/SystemOfUnits.h"
+class ISvcLocator;
+
+muCombMT::muCombMT(const std::string& name, ISvcLocator* pSvcLocator):
+   AthAlgorithm(name, pSvcLocator),
+   m_MagFieldSvc(0)
+{
+   declareProperty("MonTool", m_monTool=VoidMonitoringTool(this), "Monitoring tool");
+}
+
+StatusCode muCombMT::initialize()
+{
+   ATH_MSG_DEBUG("Initialization:");
+
+   //Filed service
+   if (!m_MagFieldSvc) service("AtlasFieldSvc", m_MagFieldSvc, /*createIf=*/ false).ignore();
+   if (m_MagFieldSvc) {
+      ATH_MSG_DEBUG( "Retrieved AtlasFieldSvc" );
+   } else {
+      ATH_MSG_ERROR( "Could not retrieve AtlasFieldSvc --> Abort" );
+      return StatusCode::FAILURE; 
+   }
+
+   if (!m_monTool.empty()) {
+      ATH_MSG_DEBUG("Retrieving monTool");
+      CHECK(m_monTool.retrieve());
+   } else {
+      ATH_MSG_INFO("No monTool configured => NO MONITORING");
+   }
+
+   // BackExtrapolator services
+   if ( m_backExtrapolatorG4.retrieve().isFailure() ) {  
+        ATH_MSG_ERROR("Unable to locate G4 BackExtrapolator tool ");
+        return StatusCode::FAILURE; 
+   }
+
+   ATH_CHECK( m_muonCollKey.initialize() );
+   //ATH_CHECK( m_muonROICollKey.initialize() );
+   ATH_CHECK( m_TrackParticleContainerKey.initialize() );
+   ATH_CHECK( m_outputCBmuonCollKey.initialize() );
+
+   return StatusCode::SUCCESS;
+}
+
+StatusCode muCombMT::finalize()
+{
+   return StatusCode::SUCCESS;
+}
+
+// muon-trk match based on angular distance
+// return 0 --> match,  1 --> no match
+int muCombMT::drptMatch(const xAOD::L2StandAloneMuon* feature, double id_pt, double id_eta, double id_phi, int algo,
+                      double& combPtInv, double& combPtRes, double& deta, double& dphi, double& dr)
+{
+   double pt     = feature->pt() * CLHEP::GeV;
+   double phi    = feature->phiMS();
+   double eta    = feature->etaMS();
+   return muCombMT::drptMatch(pt, eta, phi, id_pt, id_eta, id_phi, algo, combPtInv, combPtRes, deta, dphi, dr);
+}
+int muCombMT::drptMatch(double pt, double eta, double phi, double id_pt, double id_eta, double id_phi, int algo,
+                      double& combPtInv, double& combPtRes, double& deta, double& dphi, double& dr)
+{
+
+   // algo: 1 --> R (+ pt), combined pt
+   // algo: 2 --> R match, Id pt
+   // algo: 3 --> R match, MS pt
+   // algo: 4 --> R match, infinite pt
+   if (algo < 1 || algo > 4) {
+      ATH_MSG_DEBUG(" muComb::drptMatch wrong algo parameter, it is: " << algo
+            << " while must be in the range [1,4], match failed!!!" );
+      return 1;
+   }
+
+   double winDR = m_winDR;
+   double winPt = m_winPt;
+
+   combPtRes = 0.0;
+   if (algo == 1) combPtInv = ((1. / pt) + (1. / id_pt)) * 0.5;
+   if (algo == 2) combPtInv = 1. / id_pt;
+   if (algo == 3) combPtInv = 1. / pt;
+   if (algo == 4) combPtInv = 1.e-33;
+
+   double tmp_deta = std::max(eta, id_eta) - std::min(eta, id_eta);
+   double tmp_dphi = std::max(phi, id_phi) - std::min(phi, id_phi);
+   if (tmp_dphi >= M_PI) tmp_dphi = 2 * M_PI - tmp_dphi;
+   double tmp_dr = sqrt(tmp_deta * tmp_deta + tmp_dphi * tmp_dphi);
+
+   dphi      = tmp_dphi;
+   deta      = tmp_deta;
+   dr        = tmp_dr;
+
+   bool passDR = true;
+   bool passPt = true;
+
+   if (tmp_dr > winDR)  passDR = false;
+
+   ATH_MSG_DEBUG(" REGTEST Angular MU-ID match / dR / threshold / result:"
+         << " / " << tmp_dr
+         << " / " << winDR
+         << " / " << (passDR ? "true" : "false"));
+
+   if (algo == 1 && winPt > 0) {
+      double tmp_dpt = fabs(fabs(pt) - fabs(id_pt)) / CLHEP::GeV; //don't use charge info
+      if (tmp_dpt > winPt) passPt = false;
+      ATH_MSG_DEBUG( " REGTEST MU-ID match / dpt (GeV) / threshold (GeV) / result:"
+            << " / " << tmp_dpt
+            << " / " << winPt
+            << " / " << (passPt ? "true" : "false"));
+   }
+
+   if (passDR && passPt) return 0;
+   else                  return 1;
+}
+
+// muon-trk match based on Geant4 backextrapolated SA Muon matched with ID track
+// return 0 --> match,  1/2/3/4/5/6 --> no match (muon pt zero, muon angle zero, ID pt zero, fail eta match, fail phi match, fail chi2 match)
+int muCombMT::g4Match(const xAOD::L2StandAloneMuon* feature,
+                    double id_eta, double id_phi, double id_pt, double id_charge, double id_eeta, double id_ephi, double id_eipt,
+                    double& combPtInv, double& combPtRes, double& deta, double& dphi, double& chi2, int& ndof)
+{
+
+   chi2 = 1.0e30;
+   ndof = 0;
+
+   //muFast parameters (in MeV!)
+   double phi    = feature->phiMS();
+   //double eta    = feature->etaMS();
+   double theta  = 2.*atan(exp(-feature->etaMS()));
+   double p      = 0.0;
+   if (sin(theta) != 0) {
+      p = (feature->pt() * CLHEP::GeV) / sin(theta);
+   } else {
+      return 2; //No match if muon angle is zero
+   }
+   double charge = 1.0;
+   double q_over_p = 0.;
+   if (p != 0.)  {
+      q_over_p = 1. / p;
+      charge = p / fabs(p);
+   } else {
+      return 1; //No match if muon Pt is zero
+   }
+   double pt = feature->pt() * CLHEP::GeV;
+   //double ptinv  = 1/pt;
+   double eptinv = feature->deltaPt() * CLHEP::GeV / pt / pt;
+
+   bool   isBarrel = ((feature->sAddress() != -1) ? true : false);
+   double etaShift = (isBarrel ? 0 : charge * 0.01);
+   bool   doFix = kFALSE;
+
+   //Superpoints
+   int inner  = (feature->sAddress() == -1) ? xAOD::L2MuonParameters::Chamber::EndcapInner : xAOD::L2MuonParameters::Chamber::BarrelInner;
+   int middle = (feature->sAddress() == -1) ? xAOD::L2MuonParameters::Chamber::EndcapMiddle : xAOD::L2MuonParameters::Chamber::BarrelMiddle;
+   //int outer  = (feature->sAddress() == -1) ? xAOD::L2MuonParameters::Chamber::EndcapOuter : xAOD::L2MuonParameters::Chamber::BarrelOuter;
+
+   double sp1_z = feature->superPointZ(inner);
+   double sp1_R = feature->superPointR(inner);
+   double sp2_z = feature->superPointZ(middle);
+   double sp2_R = feature->superPointR(middle);
+
+   if ((fabs(sp1_R) < 1000.)) {
+      sp1_z *= 10.;
+      sp1_R *= 10.;
+   }
+   if ((fabs(sp2_R) < 1300.)) {
+      sp2_z *= 10.;
+   }
+
+   double R = sp1_R;
+   double z = sp1_z;
+
+   if (R == 0. && z == 0.) { //treat patological endcap cases
+      doFix = kTRUE;
+      if (fabs(sp2_R) > 1300.) {
+         z = sp2_z;
+         if (z == 0.) z = 7600.;
+         R = z * tan(theta);
+         theta  = 2.*atan(exp(-(feature->etaMS() - etaShift)));
+      }
+   }
+
+   double x = R * cos(phi);
+   double y = R * sin(phi);
+
+   Amg::Vector3D vertex(x, y, z);
+   Trk::PerigeeSurface beamSurface;
+   Trk::PerigeeSurface pgsf(vertex);
+   Trk::Perigee perigeeMS(0., 0., phi, theta, q_over_p, pgsf);
+
+   //ID parameters
+   double id_eptinv_OLD = muCombUtil::getIDSCANRes(m_IDSCANRes_barrel,  m_IDSCANRes_endcap1, m_IDSCANRes_endcap2,
+                                               m_IDSCANRes_endcap3, m_IDSCANRes_endcap4, id_pt, id_eta);
+   double id_ptinv  = 1.0e33;
+   if (id_pt != 0) {
+      id_ptinv  = 1. / id_pt;
+   } else {
+      return 3; //no match if ID track Pt zero
+   }
+
+   double id_eptinv = id_eipt; //now taken from Track itself ...
+
+   const Trk::Perigee* muonPerigee = (Trk::Perigee*) m_backExtrapolatorG4->extrapolate(perigeeMS, beamSurface, Trk::oppositeMomentum, true, Trk::muon);
+
+
+   //Protection against failing extrapolation
+   double extr_eta;
+   double extr_phi;
+   double extr_pt;
+   if (!muonPerigee) { //G4 probably failed, getting LUT extrapolated values
+      extr_eta    = feature->eta();
+      extr_phi    = feature->phi();
+      extr_pt = pt;
+   } else {
+      double extr_theta    = muonPerigee -> parameters()[Trk::theta];
+      extr_phi      = muonPerigee -> parameters()[Trk::phi0];
+      double extr_q_over_p = muonPerigee -> parameters()[Trk::qOverP];
+      extr_eta      = -log(tan(extr_theta / 2.));
+      if (doFix) extr_eta = -log(tan(theta / 2.));
+      int    extr_q        = (extr_q_over_p > 0 ? 1 : -1);
+      extr_pt       = extr_q * 1.0e33;
+      if (extr_q_over_p != 0.) {
+         extr_pt = (1. / extr_q_over_p) * sin(extr_theta);
+         if (doFix) extr_pt = (1. / extr_q_over_p) * sin(theta);
+      }
+   }
+
+   double extr_eeta = muCombUtil::getG4ExtEtaRes(feature->pt(), feature->etaMS());
+   double extr_ephi = muCombUtil::getG4ExtPhiRes(feature->pt(), feature->etaMS());
+   double extr_ptinv  = 1.0e33;
+   if (extr_pt != 0) extr_ptinv = 1. / extr_pt;
+   double extr_eptinv = eptinv;
+
+   if (isBarrel) {//retuned ptinv resolution (only for barrel)
+      extr_eptinv *= m_Chi2Weight_g4;
+      id_eptinv   *= m_Chi2Weight_g4;
+   }
+
+   //avoid memory leak
+   delete muonPerigee;
+
+   //Combined muon parameters
+   combPtInv = muCombUtil::getCombinedAverage(extr_ptinv, extr_eptinv, id_ptinv, id_eptinv);
+   combPtRes = muCombUtil::getCombinedAverageSigma(extr_eptinv, id_eptinv);
+   double q_tmp = charge;
+   if (m_ChargeStrategy == 1) q_tmp = id_charge;
+   else if (m_ChargeStrategy == 2) {
+      if (1. / combPtInv > 50000.) q_tmp = charge;
+      else                         q_tmp = id_charge;
+   }
+   combPtInv *= q_tmp;
+
+   //Masaki/Kunihiro treatment of TGC/RPC readout problems
+   ATH_MSG_DEBUG( " Enlarge phi matching error in case TGC/RPC readout failed. : " << feature->isRpcFailure() << " / " << feature->isTgcFailure() );
+
+   if (feature->isTgcFailure() || feature->isRpcFailure()) extr_ephi *= 2.0;
+
+   //Match
+   deta = muCombUtil::getDeltaEta(extr_eta, id_eta);
+   dphi = muCombUtil::getDeltaPhi(extr_phi, id_phi);
+   int ndof_OLD = 0;
+   double chi2_OLD = muCombUtil::getChi2(ndof_OLD, combPtInv, 
+                                         extr_eta, extr_eeta, extr_phi, extr_ephi, extr_ptinv, extr_eptinv,
+                                         id_eta, 0.0, id_phi, 0.0, id_ptinv, id_eptinv, true);
+   chi2 = muCombUtil::getStdChi2(ndof, extr_eta, extr_eeta, extr_phi, extr_ephi, extr_ptinv, extr_eptinv,
+                              id_eta, id_eeta, id_phi, id_ephi, id_ptinv, id_eptinv, m_UseAbsPt);
+
+
+   ATH_MSG_DEBUG(" REGTEST Resolution / OLDIdRes / IdRes / muFastRes / combRes:"
+         << " / " << std::setw(11) << id_eptinv_OLD / CLHEP::GeV
+         << " / " << std::setw(11) << id_eptinv / CLHEP::GeV
+         << " / " << std::setw(11) << extr_eptinv / CLHEP::GeV
+         << " / " << std::setw(11) << combPtRes / CLHEP::GeV );
+
+   ATH_MSG_DEBUG(" REGTEST Momentum / IdPt / muFastPt  / CombPt :"
+         << " / " << std::setw(11) << 1. / id_ptinv / CLHEP::GeV
+         << " / " << std::setw(11) << 1. / extr_ptinv / CLHEP::GeV
+         << " / " << std::setw(11) << 1. / combPtInv / CLHEP::GeV );
+
+   ATH_MSG_DEBUG(" REGTEST Chi2 / ndof // Chi2OLD / ndofOLD :"
+         << " / " << std::setw(11) << chi2
+         << " / " << std::setw(11) << ndof
+         << " // " << std::setw(11) << chi2_OLD
+         << " / " << std::setw(11) << ndof_OLD );
+
+   //Cuts
+   double winEtaSigma = m_WinEta_g4;
+   double winPhiSigma = m_WinPhi_g4;
+   double maxChi2     = m_Chi2Max_g4;
+   if (!isBarrel) {//EC
+      winEtaSigma = m_WinEta_EC_g4;
+      winPhiSigma = m_WinPhi_EC_g4;
+      maxChi2     = m_Chi2Max_EC_g4;
+   }
+
+   ATH_MSG_DEBUG(" REGTEST DeltaEta / DeltaPhi / WinEta / WinPhi:"
+         << " / " << std::setw(11) << fabs(deta)
+         << " / " << std::setw(11) << fabs(dphi)
+         << " / " << std::setw(11) << m_WeightEta_g4*winEtaSigma*sqrt(extr_eeta * extr_eeta)
+         << " / " << std::setw(11) << m_WeightPhi_g4*winPhiSigma*sqrt(extr_ephi * extr_ephi) );
+
+   if (fabs(deta) > m_WeightEta_g4 * winEtaSigma * sqrt(extr_eeta * extr_eeta)) {
+      return 4;
+   }
+   if (fabs(dphi) > m_WeightPhi_g4 * winPhiSigma * sqrt(extr_ephi * extr_ephi)) {
+      return 5;
+   }
+   if (ndof >= m_NdofMin) {
+      if (chi2 > maxChi2) return 6;
+   }
+
+   return 0; //match OK
+}
+
+// muon-trk match based on LUT backextrapolated SA Muon matched with ID track
+// return 0 --> match,  1/2/3/4/5/6 --> no match (muon pt zero, muon angle zero, ID pt zero, fail eta match, fail phi match, fail chi2 match)
+int muCombMT::mfMatch(const xAOD::L2StandAloneMuon* feature,
+                    double id_eta, double id_phi, double id_pt, double id_charge,
+                    double& combPtInv, double& combPtRes, double& deta, double& dphi, double& chi2, int& ndof)
+{
+
+   chi2 = 1.0e30;
+   ndof = 0;
+   //muFast parameters
+
+   double    pt = feature->pt() * CLHEP::GeV;
+   if (pt == 0.)  {
+      return 1; //No match if muFast Pt is zero
+   }
+
+   bool   isTS     = ((feature->rMS() <= 10.) ? true : false);
+   bool   isBarrel = ((feature->sAddress() != -1) ? true : false);
+
+   double charge = pt / fabs(pt);
+   double ptinv  = 1. / pt;
+   double eptinv = feature->deltaPt() * CLHEP::GeV / pt / pt;
+
+   //ID parameters
+   double id_eptinv    = muCombUtil::getIDSCANRes(m_IDSCANRes_barrel, m_IDSCANRes_endcap1, m_IDSCANRes_endcap2,
+                                                  m_IDSCANRes_endcap3, m_IDSCANRes_endcap4, id_pt, id_eta);
+   double id_ptinv     = 1.0e33;
+   //double id_ept       = 1.0e33;
+   if (id_pt != 0) {
+      id_ptinv  = 1. / id_pt;
+      //id_ept    = id_eptinv * id_pt * id_pt;
+   } else {
+      return 3; //no match if ID track Pt zero
+   }
+
+   //Combined muon parameters
+   combPtInv = muCombUtil::getCombinedAverage(ptinv, eptinv, id_ptinv, id_eptinv);
+   combPtRes = muCombUtil::getCombinedAverageSigma(eptinv, id_eptinv);
+   double q_tmp = charge;
+   if (m_ChargeStrategy == 1) q_tmp = id_charge;
+   else if (m_ChargeStrategy == 2) {
+      if (1. / combPtInv > 50000.) q_tmp = charge;
+      else                         q_tmp = id_charge;
+   }
+   combPtInv *= q_tmp;
+
+   // Extrapolated (LUT) quantities (now stored in the xAOD::L2StandAloneMuon container)
+   double extr_eta    = feature->eta();
+   double extr_eeta   = feature->deltaEta();
+   double extr_phi    = feature->phi();
+   double extr_ephi   = feature->deltaPhi();
+   double extr_ptinv  = ptinv;
+   double extr_eptinv = eptinv;
+
+   //Masaki/Kunihiro treatment of TGC/RPC readout problems
+   ATH_MSG_DEBUG(" Enlarge phi matching error in case TGC/RPC readout failed. : " << feature->isRpcFailure() << " / " << feature->isTgcFailure() );
+
+   if (feature->isTgcFailure() || feature->isRpcFailure()) extr_ephi *= 2.0;
+
+   //Match
+   deta = muCombUtil::getDeltaEta(extr_eta, id_eta);
+   dphi = muCombUtil::getDeltaPhi(extr_phi, id_phi);
+   chi2 = muCombUtil::getChi2(ndof, combPtInv, extr_eta, extr_eeta, extr_phi, extr_ephi, extr_ptinv, extr_eptinv,
+                              id_eta, 0.0, id_phi, 0.0, id_ptinv, id_eptinv, m_UseAbsPt);
+
+
+   ATH_MSG_DEBUG(" REGTEST Resolution / IdRes / muFastRes / combRes:"
+         << " / " << std::setw(11) << id_eptinv / CLHEP::GeV
+         << " / " << std::setw(11) << extr_eptinv / CLHEP::GeV
+         << " / " << std::setw(11) << combPtRes / CLHEP::GeV );
+
+   ATH_MSG_DEBUG(" REGTEST Momentum / IdPt / muFastPt  / CombPt :"
+         << " / " << std::setw(11) << 1. / id_ptinv / CLHEP::GeV
+         << " / " << std::setw(11) << 1. / ptinv / CLHEP::GeV
+         << " / " << std::setw(11) << 1. / combPtInv / CLHEP::GeV );
+
+   ATH_MSG_DEBUG(" REGTEST Chi2 / ndof :"
+         << " / " << std::setw(11) << chi2
+         << " / " << std::setw(11) << ndof );
+
+   //Cuts
+   double winEtaSigma = m_WinEta;
+   double winPhiSigma = m_WinPhi;
+   double maxChi2     = m_Chi2Max;
+   if (isTS) { //Trigger Station (barrel/EC)
+      winEtaSigma = m_WinEta_TS;
+      winPhiSigma = m_WinPhi_TS;
+      maxChi2     = m_Chi2Max_TS;
+   } else { //if endcaps and not TS
+      if (!isBarrel) {
+         winEtaSigma = m_WinEta_EC;
+         winPhiSigma = m_WinPhi_EC;
+         maxChi2     = m_Chi2Max_EC;
+      }
+   }
+   bool isFT = false;
+   if (isBarrel)
+      if ((id_phi >= -2.60 && id_phi <= -2.10) || (id_phi >= -1.10 && id_phi <= -0.50)) isFT = true;
+   if (isFT) { //if MS-feet region
+      winEtaSigma = m_WinEta_FE;
+      winPhiSigma = m_WinPhi_FE;
+      maxChi2     = m_Chi2Max_FE;
+   }
+
+   ATH_MSG_DEBUG(" REGTEST DeltaEta / DeltaPhi / WinEta / WinPhi:"
+         << " / " << std::setw(11) << fabs(deta)
+         << " / " << std::setw(11) << fabs(dphi)
+         << " / " << std::setw(11) << m_WeightEta*winEtaSigma*sqrt(extr_eeta * extr_eeta)
+         << " / " << std::setw(11) << m_WeightPhi*winPhiSigma*sqrt(extr_ephi * extr_ephi) );
+
+   if (fabs(deta) > m_WeightEta * winEtaSigma * sqrt(extr_eeta * extr_eeta)) {
+      return 4;
+   }
+   if (fabs(dphi) > m_WeightPhi * winPhiSigma * sqrt(extr_ephi * extr_ephi)) {
+      return 5;
+   }
+   if (ndof >= m_NdofMin) {
+      if (chi2 > maxChi2) return 6;
+   }
+
+   return 0; //match OK
+}
+
+
+/** @fn bool muCombMT::execute()
+ * @brief Execute() method.
+ * @return bool
+ */
+StatusCode muCombMT::execute()
+{
+   using namespace Monitored;
+   using namespace xAOD;
+
+   auto ctx = getContext();
+
+   // Monitoring variables
+   //Timer
+   auto timer = MonitoredTimer::declare("TIME_execute");
+   //Input
+   auto ptMS = MonitoredScalar::declare("PtMS",        -9999.);
+   auto etaMS = MonitoredScalar::declare("EtaMS",      -9999.);
+   auto phiMS = MonitoredScalar::declare("PhiMS",      -9999.);
+   auto zetaMS = MonitoredScalar::declare("ZetaMS",    -9999.);
+   //ID
+   auto ptID = MonitoredScalar::declare("PtID",        -9999.);
+   auto etaID = MonitoredScalar::declare("EtaID",      -9999.);
+   auto phiID = MonitoredScalar::declare("PhiID",      -9999.);
+   auto zetaID = MonitoredScalar::declare("ZetaID",    -9999.);
+   //Combined
+   auto ptMC = MonitoredScalar::declare("PtMC",        -9999.);
+   auto dEta = MonitoredScalar::declare("DEta",        -9999.);
+   auto dPhi = MonitoredScalar::declare("DPhi",        -9999.);
+   auto dZeta = MonitoredScalar::declare("DZeta",      -9999.);
+   auto dR = MonitoredScalar::declare("DeltaR",        -9999.);
+   //Failed
+   auto ptFL = MonitoredScalar::declare("PtFL",        -9999.);
+   auto etaFL = MonitoredScalar::declare("EtaFL",      -9999.);
+   auto phiFL = MonitoredScalar::declare("PhiFL",      -9999.);
+   //Info
+   auto efficiency = MonitoredScalar::declare<int>("Efficiency",  -1);
+   auto StrategyMC = MonitoredScalar::declare<int>("StrategyMC",  -1);
+   auto ErrorFlagMC = MonitoredScalar::declare<int>("ErrorFlagMC", 0);
+   auto MatchFlagMC = MonitoredScalar::declare<int>("MatchFlagMC", 0);
+
+
+   auto mon = MonitoredScope::declare(m_monTool, timer, ptMS, etaMS, phiMS, zetaMS, 
+                                                        ptID, etaID, phiID, zetaID, 
+                                                        ptMC, dEta, dPhi, dZeta, dR,
+                                                        ptFL, etaFL, phiFL,
+                                                        efficiency, StrategyMC, ErrorFlagMC, MatchFlagMC);
+
+
+   StrategyMC  = m_AlgoStrategy;
+
+   //Magnetic field status
+   bool toroidOn   = !m_assumeToroidOff;
+   bool solenoidOn = !m_assumeSolenoidOff;
+   if (m_MagFieldSvc) {
+      toroidOn  = m_MagFieldSvc->toroidOn() && !m_assumeToroidOff;
+      solenoidOn = m_MagFieldSvc->solenoidOn() && !m_assumeSolenoidOff;
+   }
+   ATH_MSG_DEBUG( "=========== Magnetic Field Status ========== " );
+   ATH_MSG_DEBUG( " Assuming Toroid OFF is:                  " << (m_assumeToroidOff ? "TRUE" : "FALSE") );
+   ATH_MSG_DEBUG( " Assuming Solenoid OFF is:                " << (m_assumeSolenoidOff ? "TRUE" : "FALSE") );
+   ATH_MSG_DEBUG( " ---> Solenoid : " << ((solenoidOn) ? "ON" : "OFF") );
+   ATH_MSG_DEBUG( " ---> Toroid   : " << ((toroidOn) ?   "ON" : "OFF") );
+
+   // Algorithm strategy
+   // select best matchinig strategy
+   int usealgo = 0;                           //extrapolated muon - ID match (default)
+   if (solenoidOn) {
+      if (toroidOn) {
+         if (m_AlgoStrategy == 0)  usealgo = 0;           //extrapolated muon - ID match
+         else                      usealgo = 1;           //simple R-match w/o extrapolation (pt from combined MS-ID)
+      } else {
+         usealgo = 2;   //simple R-match w/o extrapolation (pt from ID)
+      }
+   } else {
+      if (toroidOn) usealgo = 3;           //simple R-match w/o extrapolation (pt from MS)
+      else          usealgo = 4;           //simple R-match w/o extrapolation (pt inf)
+   }
+
+   ATH_MSG_DEBUG( "MuCombStrategy: " << usealgo );
+
+   ATH_MSG_DEBUG( "=========== Matching windows g4 ========== " );
+   ATH_MSG_DEBUG( " WinEtaSigma g4: " << m_WinEta_g4 );
+   ATH_MSG_DEBUG( " WinPhiSigma g4: " << m_WinPhi_g4 );
+   ATH_MSG_DEBUG( " WinEtaSigma g4 EC: " << m_WinEta_EC_g4 );
+   ATH_MSG_DEBUG( " WinPhiSigma g4 EC: " << m_WinPhi_EC_g4 );
+   ATH_MSG_DEBUG( " WeightEta g4: " << m_WeightEta_g4 );
+   ATH_MSG_DEBUG( " WeightPhi g4: " << m_WeightPhi_g4 );
+   ATH_MSG_DEBUG( " Chi2Weight g4: " << m_Chi2Weight_g4 );
+   ATH_MSG_DEBUG( " " );
+
+   // Create Combined muon collection and record it with WriteHandle
+   auto muonCBColl = SG::makeHandle (m_outputCBmuonCollKey, ctx);
+   ATH_CHECK( muonCBColl.record (std::make_unique<xAOD::L2CombinedMuonContainer>(),
+                                 std::make_unique<xAOD::L2CombinedMuonAuxContainer>()) );
+
+   // Get input for seeding
+   auto muonColl = SG::makeHandle(m_muonCollKey, ctx);  //SA muons
+
+   // useL1 commented code to be removed once full muon chain with MT tested (SG)
+   //Bool_t useL1 = false;
+   if (muonColl->size() == 0) {
+     //ATH_MSG_DEBUG(" L2 SA Muon collection size = 0");
+     //if (usealgo == 2) {
+     //    ATH_MSG_DEBUG(" L2StandAloneMuonContainer not found -> use L1 ROI " );
+     //    useL1 = true;
+     //} else {
+     ATH_MSG_DEBUG(" L2StandAloneMuonContainer empty -> stop processing RoI, no match" );
+     return StatusCode::SUCCESS;
+     //}
+   }
+
+   // useL1 commented code to be removed once full muon chain with MT tested (SG)
+   //xAOD::L2StandAloneMuonContainer* muonColl = const_cast<xAOD::L2StandAloneMuonContainer*>(const_muonColl);
+
+   // retrieve L2StandAloneMuon (assumed to be the first element)
+   const xAOD::L2StandAloneMuon* muonSA = muonColl->front();
+
+   xAOD::L2CombinedMuon* muonCB = new xAOD::L2CombinedMuon();
+   muonCB->makePrivateStore();
+   muonCB->setPt(0.0);
+   muonCB->setStrategy(usealgo);
+
+   // check muonSA pt != 0
+   if (muonSA->pt() == 0.) {
+      ErrorFlagMC = 1;
+      if (usealgo == 2 || usealgo == 4) {
+         ATH_MSG_DEBUG(" L2StandAloneMuon pt = 0 --> using angular match" );
+         //if (usealgo == 2) useL1 = true;
+      } else {
+         ATH_MSG_DEBUG(" L2StandAloneMuon pt = 0 --> stop processing RoI, no match" );
+         muonCB->setErrorFlag(ErrorFlagMC);
+         muonCBColl->push_back(muonCB);
+         return StatusCode::SUCCESS;
+      }
+   }
+
+   // useL1 commented code to be removed once full muon chain with MT tested (SG)
+   //double ptL1    = -999.;
+   //double etaL1   = -999.;
+   //double phiL1   = -999.;
+   double pt      = -999.;
+   double eta     = -999.;
+   double phi     = -999.;
+   double eta_ms  = -999.;
+   double phi_ms  = -999.;
+   double zeta_ms = -999.;
+   // useL1 commented code to be removed once full muon chain with MT tested (SG)
+   //if (useL1) {
+   //   auto muonROIColl = SG::makeHandle(m_muonROICollKey, ctx); // L1 muon ROI
+   //   if (muonROIColl->size() == 0) {
+   //      ATH_MSG_DEBUG(" L1 Muon RoI collection size = 0");
+   //      ATH_MSG_DEBUG(" L2StandAloneMuon pt == 0. && no L1 && torid=OFF --> no match" );
+   //      ErrorFlagMC = 1;
+   //      muonCB->setErrorFlag(ErrorFlagMC);
+   //      return StatusCode::SUCCESS;
+   //   } else {
+   //      const TrigRoiDescriptor* muonROI = *(muonROIColl->begin());
+   //      ptL1  = (muonRoI)->getThresholdValue();
+   //      etaL1 = (muonRoI)->eta();
+   //      phiL1 = (muonRoI)->phi();
+   //      ATH_MSG_DEBUG( " Input L1 muon pt (GeV) = " << (muonROI)->getThresholdValue()
+   //           <<  " / eta   = " << (muonROI)->eta()
+   //           <<  " / phi   = " << (muonROI)->phi()
+   //           <<  " / roiID = " << (muonROI)->roiId() );
+   //   }
+   //} else {
+      // Save SA muon EL into CB muon
+      ElementLink<xAOD::L2StandAloneMuonContainer> muonSAEL(*muonColl, 0);
+      muonCB->setMuSATrackLink(muonSAEL);
+
+      pt       = muonSA->pt();
+      eta      = muonSA->eta();
+      phi      = muonSA->phi();
+      eta_ms   = muonSA->etaMS();
+      phi_ms   = muonSA->phiMS();
+      zeta_ms  = muonSA->zMS();
+
+      ATH_MSG_DEBUG(" Input L2StandaloneMuon pt (GeV) = " << pt
+               << " / eta = "                    << eta
+               << " / phi = "                    << phi
+               << " / etaMS = "                  << eta_ms
+               << " / phiMS = "                  << phi_ms
+               << " / zMS = "                    << zeta_ms);
+   //}
+
+   // ID tracks Decoding
+
+   // how to retrieve a specific colection name?
+   SG::ReadHandle<xAOD::TrackParticleContainer> idTrackParticles(m_TrackParticleContainerKey, ctx); //L2 ID trks
+   if (!idTrackParticles.isValid()){
+      ATH_MSG_DEBUG(" Failed to get xAOD::TrackParticleContainer --> no match" );
+      ErrorFlagMC = 2;
+      muonCB->setErrorFlag(ErrorFlagMC);
+      muonCBColl->push_back(muonCB);
+      return StatusCode::SUCCESS;
+   }
+   if (idTrackParticles->size() < 1){
+      ATH_MSG_DEBUG(" xAOD::TrackParticleContainer has 0 tracks --> no match" );
+      ErrorFlagMC = 2;
+      muonCB->setErrorFlag(ErrorFlagMC);
+      muonCBColl->push_back(muonCB);
+      return StatusCode::SUCCESS;
+   }
+
+   ATH_MSG_DEBUG( " Found xAOD::TrackParticleContainer with size: " << idTrackParticles->size() );
+
+   // matching
+   double ptinv_comb = 0.;
+   double ptres_comb = 0.001;
+   double chi2_comb  = 1.0e33;
+   int    ndof_comb  = -1;
+   double best_dr    = 1.0e33;
+   double best_deta  = 1.0e33;
+   double best_dphi  = 1.0e33;
+   bool   has_match  = false;
+   int    imatch     = -1;
+   int    matched_trk_idx = -1;
+   int    matched_trk_idx_tmp = -1;
+
+
+   for(const auto trkit:(*idTrackParticles)) {
+
+      matched_trk_idx_tmp++;
+      double ptinv_tmp = 0.;
+      double ptres_tmp = 0.001;
+      double deta_tmp  = 0.;
+      double dphi_tmp  = 0.;
+      double dr_tmp    = 0.;
+      double chi2_tmp  = 0.;
+      int    ndof_tmp  = 0;
+      bool   has_match_tmp = false;
+      int    imatch_tmp    = -1;
+
+      //Select tracks
+      double phi_id    = (trkit)->phi();
+      double eta_id    = (trkit)->eta();
+      double qoverp_id = (trkit)->qOverP();
+      double q_id      = ((trkit)->qOverP() > 0 ? 1.0 : -1.0);
+      double pt_id     = (trkit)->pt() * q_id;
+
+      double e_qoverp_id = std::sqrt((trkit)->definingParametersCovMatrix()(Trk::qOverP,Trk::qOverP));
+      double e_phi_id = std::sqrt((trkit)->definingParametersCovMatrix()(Trk::phi0,Trk::phi0));
+      double e_theta_id = std::sqrt((trkit)->definingParametersCovMatrix()(Trk::theta,Trk::theta));
+      double tanthetaov2 = fabs(std::exp(-eta));
+      double e_eta_id = fabs(0.5 * (1./tanthetaov2 + tanthetaov2) * e_theta_id);
+
+      double e_qoverpt_id = e_qoverp_id;
+      double theta_id = (trkit)->theta();
+      if (sin(theta_id) != 0) e_qoverpt_id /= fabs(sin(theta_id)); //approximate
+
+      ATH_MSG_DEBUG( " Found track: "
+               << "  with pt (GeV) = " << pt_id / CLHEP::GeV
+               << ", q    = " << q_id
+               << ", eta  = " << eta_id
+               << ", phi  = " << phi_id
+               << ", th   = " << theta_id
+               << ", ephi = " << e_phi_id
+               << ", eth  = " << e_theta_id
+               << ", eeta = " << e_eta_id
+               << ", ip   = " << qoverp_id
+               << ", eip  = " << e_qoverp_id
+               << ", eipt = " << e_qoverpt_id );
+
+      if (usealgo != 3) {
+         if ((fabs(pt_id) / CLHEP::GeV) < m_PtMinTrk)       continue;
+      }
+      if (fabs(eta_id)  > m_EtaMaxTrk)      continue;
+
+      ATH_MSG_DEBUG(" Track selected " );
+
+      if (usealgo > 0) {//DeltaR match
+         // commented code (useL1) to be removed once full muon chain with MT tested
+         //if (useL1) {
+         //   imatch_tmp = drptMatch(ptL1, etaL1, phiL1, pt_id, eta_id, phi_id, usealgo, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp);
+         //} else {
+            imatch_tmp = drptMatch(muonSA, pt_id, eta_id, phi_id, usealgo, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp);
+         //}
+         if (imatch_tmp == 0) has_match_tmp = true;
+      } else { //Std match
+         if (!m_useBackExtrapolatorG4) {
+            imatch_tmp = mfMatch(muonSA, eta_id, phi_id, pt_id, q_id, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp, ndof_tmp);
+            if (imatch_tmp == 0) has_match_tmp = true;
+         } else { //G4 match
+            imatch_tmp = g4Match(muonSA, eta_id, phi_id, pt_id, q_id, e_eta_id, e_phi_id, e_qoverpt_id, ptinv_tmp, ptres_tmp, deta_tmp, dphi_tmp, chi2_tmp, ndof_tmp);
+            if (imatch_tmp == 0) has_match_tmp = true;
+         }
+      }
+
+      imatch = imatch_tmp;
+      if (!has_match_tmp) continue;
+
+      // select nearest track
+      dr_tmp = sqrt(deta_tmp * deta_tmp + dphi_tmp * dphi_tmp);
+
+      if (chi2_tmp <= chi2_comb) {//Select nearest track
+         has_match  = true;
+         chi2_comb  = chi2_tmp;
+         ndof_comb  = ndof_tmp;
+         ptinv_comb = ptinv_tmp;
+         ptres_comb = ptres_tmp;
+         best_deta  = deta_tmp;
+         best_dphi  = dphi_tmp;
+         best_dr    = dr_tmp;
+         imatch     = imatch_tmp;
+         matched_trk_idx  = matched_trk_idx_tmp;
+      }
+
+   }//Tracks loop
+
+   //Set monitored quantities (monitor only pt>6 GeV/c && standard matching)
+   if (usealgo == 0 && fabs(pt) >= 6.) {
+      ptMS       = pt;
+      etaMS      = eta;
+      phiMS      = phi;
+      zetaMS     = zeta_ms;
+      ptFL       = pt;
+      etaFL      = eta;
+      phiFL      = phi;
+      if (ptMS >  100.) ptMS =  101.5;
+      if (ptMS < -100.) ptMS = -101.5;
+      if (ptFL >  100.) ptFL =  101.5;
+      if (ptFL < -100.) ptFL = -101.5;
+   }
+
+   if (!has_match) {
+      ErrorFlagMC = 3;
+      MatchFlagMC = imatch;
+      if (usealgo == 0 && fabs(pt) >= 6.)  efficiency = 0; //monitor only efficiency for mu6 && standard matching
+      ATH_MSG_DEBUG( " No matched ID tracks --> no match" );
+      muonCB->setErrorFlag(ErrorFlagMC);
+      muonCB->setMatchFlag(MatchFlagMC);
+      muonCBColl->push_back(muonCB);
+      return StatusCode::SUCCESS;
+   }
+
+   //Save EL to ID trk into CB muon
+   ElementLink<xAOD::TrackParticleContainer> idtrkEL(*idTrackParticles, matched_trk_idx);
+   muonCB->setIdTrackLink(idtrkEL);
+
+   double pt_id        = muonCB->idTrack()->pt();
+   double q_id         = ((muonCB->idTrack()->qOverP()) > 0 ? 1.0 : -1.0);
+   double phi_id       = muonCB->idTrack()->phi();
+   double eta_id       = muonCB->idTrack()->eta();
+   //const Trk::Perigee& idtrk_perigee = muonCB->idTrack()->perigeeParameters();
+   double zPos_id      = muonCB->idTrack()->z0(); //idtrk_perigee.parameters()[Trk::z0];
+
+   ATH_MSG_DEBUG(" SA muon macthed to ID track ..." );
+
+   //Update monitored vars
+   MatchFlagMC = imatch;
+   ptFL        = -9999.;
+   etaFL       = -9999.;
+   phiFL       = -9999.;
+   if (usealgo == 0 && fabs(pt) >= 6.) {
+      efficiency = 1;
+      ptID       = pt_id / CLHEP::GeV; //in GeV/c
+      etaID      = eta_id;
+      phiID      = phi_id;
+      zetaID     = zPos_id;
+      ptMC       = 1. / (ptinv_comb * CLHEP::GeV); //in GeV/c
+      dZeta      = zeta_ms - zPos_id;
+      dPhi       = best_dphi;
+      dEta       = best_deta;
+      dR         = best_dr;
+
+      if (ptMC >  100.) ptMC =  101.5;
+      if (ptMC < -100.) ptMC = -101.5;
+      if (ptID >  100.) ptID =  101.5;
+      if (ptID < -100.) ptID = -101.5;
+   }
+
+   double prt_pt = pt;
+   // commented code (useL1) to be removed once full muon chain with MT tested
+   //if (useL1) prt_pt = ptL1;
+   ATH_MSG_DEBUG( " REGTEST Combination chosen: "
+         << " usealgo / IdPt (GeV) / muonPt (GeV) / CombPt (GeV) / chi2 / ndof: "
+         << " / " << usealgo << " / " << pt_id*q_id / CLHEP::GeV << " / " << prt_pt << " / " << 1. / ptinv_comb / CLHEP::GeV << " / " << chi2_comb << " / " << ndof_comb );
+
+   muonCB->setPt(fabs(1. / ptinv_comb));
+   muonCB->setEta(eta_id);
+   muonCB->setPhi(phi_id);
+
+   float mcq = -1.0;
+   if (ptinv_comb > 0) mcq = 1.0;
+
+   muonCB->setCharge(mcq);
+
+   float mcresu = fabs(ptres_comb / (ptinv_comb * ptinv_comb));
+   ATH_MSG_DEBUG( " SigmaPt (GeV) is: " << mcresu / CLHEP::GeV );
+   muonCB->setSigmaPt(mcresu);
+
+   muonCB->setErrorFlag(ErrorFlagMC);
+   muonCB->setMatchFlag(MatchFlagMC);
+
+   muonCBColl->push_back(muonCB);
+   return StatusCode::SUCCESS;
+}
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filter_Offline2017.h b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filter_Offline2017.h
new file mode 100644
index 00000000000..a831f3de137
--- /dev/null
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filter_Offline2017.h
@@ -0,0 +1,124 @@
+// emacs: this is -*- c++ -*-
+//
+//   @file    Filter_Offline2017.h        
+//
+//            Filter class to implement the 2017 CP recomendations
+//            on hadronic tracks as found in 
+//              https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/TrackingCPPreRecsSummer2017
+// 
+//   Copyright (C) 2017 M.Sutton (sutt@cern.ch)    
+//
+//   This program is free software; you can redistribute it and/or
+//   modify it under the terms of the GNU General Public License
+//   as published by the Free Software Foundation; either version 2
+//   of the License, or (at your option) any later version.
+//    
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//   
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+//   MA  02110-1301, USA.
+//
+
+
+#ifndef TRIGINDETANALYSISUTILS_FILTER_OFFLINE2017_H 
+#define TRIGINDETANALYSISUTILS_FILTER_OFFLINE2017_H 
+
+#include <iostream>
+#include <cmath>
+
+#include "TrigInDetAnalysis/TrackFilter.h"
+#include "TrigInDetAnalysis/Track.h"
+#include "TrigInDetAnalysis/TIDARoiDescriptor.h"
+
+
+// generic selection cut selection function 
+
+class Filter_Offline2017 : public TrackFilter { 
+
+public:
+  
+  Filter_Offline2017(  double pTMin=1000, const std::string& type="tight" ) :  
+    m_pTMin(pTMin),
+    m_type(type)
+  {
+    if ( m_type!="loose" && m_type!="loose-primary" && m_type!="tight" ) { 
+      std::cerr << "Filter_Offline2017::type: " << m_type << "not recognised" << std::endl;
+      std::exit(-1);
+    }
+  } 
+
+  bool select(const TIDA::Track* t, const TIDARoiDescriptor* =0 ) { 
+    // Select track parameters
+    bool selected = true;
+    
+    int Nsi      = t->pixelHits()*0.5 + t->sctHits();
+    int Nsiholes = t->pixelHoles()+t->sctHoles();
+    
+    if ( m_type=="loose" ) { 
+      if ( std::fabs(t->eta())>2.5 || std::fabs(t->pT())<m_pTMin ) selected = false;
+    
+      // Select track silicon hit content
+      if( Nsi<7 )              selected = false;
+      if( Nsiholes>2 )         selected = false;
+      if ( t->pixelHoles()>1 ) selected = false;
+
+      //      if ( m_expectBL && ( ( t->expectBL() || t->hasTruth() ) && t->bLayerHits()<1) )  selected = false;
+    }
+    else if ( m_type=="loose-primary" ) { 
+      if ( std::fabs(t->eta())>2.5 || std::fabs(t->pT())<m_pTMin ) selected = false;
+
+      // Select track silicon hit content
+      if ( ( Nsi<10 ) && ( Nsi<7 || Nsiholes>0 ) ) selected = false;
+
+
+    }
+    else if ( m_type=="tight" ) { 
+      if ( std::fabs(t->eta())>2.5 || std::fabs(t->pT())<m_pTMin ) selected = false;
+      
+      // Select track silicon hit content
+      if ( std::fabs(t->eta())< 1.65 && Nsi<9  ) selected = false;
+      if ( std::fabs(t->eta())>=1.65 && Nsi<11 ) selected = false;
+      
+      if ( t->pixelHoles()>0 ) selected = false;
+
+      /// require a blayer (ibl in run2) hit only if one is expected
+      if ( ( t->expectBL() || t->hasTruth() ) && t->bLayerHits()<1 )  selected = false;
+    }
+
+    return selected;
+  } 
+
+private:
+
+  // selection 
+
+  double      m_pTMin;
+  std::string m_type;
+
+};
+
+
+
+
+
+inline std::ostream& operator<<( std::ostream& s, const Filter_Offline2017& ) { 
+  return s;
+}
+
+
+#endif  // TRIGINDETANALYSISUTILS_FILTER_OFFLINE2017_H 
+
+
+
+
+
+
+
+
+
+
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/CMakeLists.txt b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/CMakeLists.txt
new file mode 100644
index 00000000000..dc9ab0db7aa
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/CMakeLists.txt
@@ -0,0 +1,73 @@
+################################################################################
+# Package: TrigCaloDataAccessSvc
+################################################################################
+
+# Declare the package name:
+atlas_subdir( TrigCaloDataAccessSvc )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/AthenaBaseComps
+                          Control/AthenaKernel
+                          LArCalorimeter/LArRecEvent
+
+                          PRIVATE
+                     	   Calorimeter/CaloEvent
+                           Calorimeter/CaloGeoHelpers
+                           Calorimeter/CaloIdentifier
+                           Calorimeter/CaloInterface
+                           Control/StoreGate
+                           DetectorDescription/IRegionSelector
+                           DetectorDescription/Identifier
+                           Event/ByteStreamCnvSvcBase
+                           Event/EventInfo
+                           Event/xAOD/xAODTrigCalo
+                           ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream
+                           ForwardDetectors/ZDC/ZdcEvent
+                           ForwardDetectors/ZDC/ZdcRec
+                           GaudiKernel
+                           LArCalorimeter/LArCnv/LArByteStream
+                           LArCalorimeter/LArRawUtils
+                           LArCalorimeter/LArCabling
+                           TileCalorimeter/TileEvent
+                           TileCalorimeter/TileSvc/TileByteStream
+                           Trigger/TrigEvent/TrigSteeringEvent
+                           Trigger/TrigSteer/TrigInterfaces
+                           Trigger/TrigTools/TrigTimeAlgs
+			   Trigger/TrigAlgorithms/TrigT2CaloCommon
+			   #
+                          Calorimeter/CaloDetDescr
+                          Calorimeter/CaloUtils
+                          Database/AthenaPOOL/AthenaPoolUtilities
+                          Event/ByteStreamData
+                          LArCalorimeter/LArElecCalib
+                          LArCalorimeter/LArIdentifier
+                          LArCalorimeter/LArRecConditions
+                          LArCalorimeter/LArRecUtils
+                          Trigger/TrigT1/TrigT1Interfaces
+			  AtlasTest/TestTools
+			  Control/AthenaMonitoring )
+
+# External dependencies:
+find_package( tdaq-common )
+
+# Component(s) in the package:
+atlas_add_library( TrigCaloDataAccessSvcLib
+                   src/*.cxx
+                   PUBLIC_HEADERS TrigCaloDataAccessSvc
+                   INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} CaloEvent CaloGeoHelpers CaloIdentifier AthenaBaseComps AthenaKernel IRegionSelector Identifier EventInfo xAODTrigCalo ZdcEvent GaudiKernel LArRecEvent TileEvent TrigSteeringEvent StoreGateLib SGtests ByteStreamCnvSvcBaseLib ZdcByteStreamLib ZdcRecLib LArByteStreamLib LArRawUtilsLib LArCablingLib TileByteStreamLib TrigInterfacesLib TrigTimeAlgsLib CaloDetDescrLib CaloUtilsLib ByteStreamData_test LArRecUtilsLib TrigT2CaloCommonLib
+                   PRIVATE_LINK_LIBRARIES AthenaPoolUtilities ByteStreamData LArIdentifier LArRecConditions TrigT1Interfaces )
+
+atlas_add_component( TrigCaloDataAccessSvc
+                     src/components/*.cxx
+                     INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} CaloEvent CaloGeoHelpers CaloIdentifier AthenaBaseComps AthenaKernel StoreGateLib SGtests IRegionSelector Identifier ByteStreamCnvSvcBaseLib EventInfo xAODTrigCalo ZdcByteStreamLib ZdcEvent ZdcRecLib GaudiKernel LArByteStreamLib LArRawUtilsLib LArRecEvent LArCablingLib TileEvent TileByteStreamLib TrigSteeringEvent TrigInterfacesLib TrigTimeAlgsLib CaloDetDescrLib CaloUtilsLib AthenaPoolUtilities ByteStreamData ByteStreamData_test LArIdentifier LArRecConditions LArRecUtilsLib TrigT1Interfaces TrigT2CaloCommonLib  TrigCaloDataAccessSvcLib )
+
+# Install files from the package:
+atlas_install_python_modules( python/*.py )
+atlas_install_joboptions( share/*.py )
+
+atlas_add_test( TestService 
+		SCRIPT test/test_dataaccess.sh
+		PROPERTIES TIMEOUT 600)
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/TrigCaloDataAccessSvc/ITrigCaloDataAccessSvc.h b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/TrigCaloDataAccessSvc/ITrigCaloDataAccessSvc.h
new file mode 100755
index 00000000000..ed6062211c5
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/TrigCaloDataAccessSvc/ITrigCaloDataAccessSvc.h
@@ -0,0 +1,207 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#ifndef TrigCaloDataAccessSvc_ITrigCaloDataAccessSvc_h
+#define TrigCaloDataAccessSvc_ITrigCaloDataAccessSvc_h
+
+#include "LArRawUtils/LArTT_Selector.h"
+#include "TileByteStream/TileCellCont.h"
+#include "TrigT2CaloCommon/LArCellCont.h"
+#include "LArRecEvent/LArFebEnergyCollection.h"
+#include "TileEvent/TileCellCollection.h"
+#include "TileEvent/TileL2Container.h"
+#include "IRegionSelector/RegSelEnums.h"
+#include "CaloEvent/CaloCellContainer.h"
+#include "ZdcEvent/ZdcRawChannelCollection.h"
+#include "GaudiKernel/EventContext.h"
+#include "GaudiKernel/IService.h"
+
+// For callbacks
+#include "AthenaKernel/IOVSvcDefs.h"
+
+class ITrigCaloDataAccessSvc: virtual public IService {
+ public:
+  /** Interface for Virtual Class */
+  DeclareInterfaceID(ITrigCaloDataAccessSvc, 1, 0);
+  
+  class Status {
+  public:
+    Status() {}
+    Status( uint32_t x) : m_mask( x ) {}
+
+    //! possible, predefined errors
+    enum Mask { MissingROB = 0x10000000, RawDataCorrupted = 0x20000000, InternalError = 0x40000000 };
+    
+    inline void addError( uint32_t m ) { m_mask |= m; }
+    inline bool hasError( uint32_t m ) const { return m & m_mask; }
+    inline bool success() const { return mask() == 0; }
+
+    //!< to be usable with the ATH_CHECK
+    inline operator StatusCode() const { 
+      return success() ? StatusCode::SUCCESS : StatusCode::FAILURE;  
+    }
+    void operator += ( const Status& rhs ) { m_mask &= rhs.m_mask; }
+    //!< raw mask
+    inline uint32_t mask() const { return m_mask; }
+  private:
+    uint32_t m_mask = 0;
+  };
+
+  /**
+   * Will we ever need layer here
+   */
+  virtual Status prepareCollections( const EventContext& context,
+				     const IRoiDescriptor& roi, 
+				     DETID detector ) = 0;
+
+
+  
+  /** 
+   * @brief downloads the LAr data for an RoI and makes sure the cache collection is filled wiht decoded cells   
+   */
+  virtual Status loadCollections( const EventContext& context,
+				  const IRoiDescriptor& roi,
+				  LArTT_Selector<LArCellCont>& loadedCells ) = 0;
+	/* /\**  */
+	/* * @brief LoadCollections fetches data via ROBDataProvider */
+	/* * and really provides ByteStream Conversion by calling  */
+	/* * detector specific (LAr or Tile) ByteStream Conversion */
+	/* * Tools within RoI as defined in the above method. */
+	/* * @param[out] TileCellCollection::const_iterator outputs */
+	/* *	begin, end interator to TileCells. */
+	/* * @param[in] sample (deprecated) maintained for compatibility. */
+	/* * @param[in] prepare if container should be prepared or */
+	/* *	considered as already existing (multilayer HEC or Tile */
+	/* *	access). */
+	/* *\/ */
+	/* virtual ExtendedStatusCode loadCollections (const EventContext& context, */
+	/* 					    TileCellCollection::const_iterator&, */
+	/* 					    TileCellCollection::const_iterator&, */
+	/* 					    const unsigned int sample = 0, bool prepare=true) = 0; */
+        /* /\** MBTS loading *\/ */
+	/* virtual ExtendedStatusCode loadMBTS(const EventContext& context, */
+	/* 				    TileCellCollection::const_iterator&, */
+	/* 				    TileCellCollection::const_iterator&) = 0; */
+        /* /\** Load Zdc Collection *\/ */
+	/* virtual ExtendedStatusCode loadZdcCollection( const EventContext& context, */
+	/* 					      ZdcRawChannelCollection::const_iterator&, */
+	/* 					      ZdcRawChannelCollection::const_iterator&)=0; */
+
+	/* /\** */
+	/* * @brief LoadCollections fetches data via ROBDataProvider */
+	/* * and really provides ByteStream Conversion by calling */
+	/* * detector specific (LAr or Tile) ByteStream Conversion */
+	/* * Tools within RoI as defined in the above method. */
+	/* * @param[out] LArFebEnergyCollection::const_iterator outputs */
+	/* *	begin, end interator to LArFebEnergy Collections. */
+	/* * @param[in] sample (deprecated) maintained for compatibility. */
+	/* * @param[in] prepare if container should be prepared or */
+	/* *	considered as already existing (multilayer HEC or Tile */
+	/* *	access). */
+	/* *\/ */
+	/* virtual ExtendedStatusCode loadCollections ( const EventContext& context, */
+	/* 					     LArFebEnergyCollection::const_iterator&, */
+	/* 					     LArFebEnergyCollection::const_iterator&, */
+	/* 					     const unsigned int sample = 0, bool prepare=true) = 0; */
+        /**
+        * @brief Loads the full collection for the missing et computation
+        */
+
+  virtual Status prepareFullCollections( const EventContext& context, DETID detid ) = 0;
+  
+  virtual Status loadFullCollections ( const EventContext& context,
+				       DETID detid,
+				       LArTT_Selector<LArCellCont>::const_iterator& begin,
+				       LArTT_Selector<LArCellCont>::const_iterator& end ) = 0;
+
+        /* /\** */
+        /* * @brief Loads the full collection for the missing et computation */
+        /* *\/ */
+	/* virtual ExtendedStatusCode loadFullCollections ( const EventContext& context, */
+	/* 						 TileCellCollection::const_iterator&, */
+	/* 						 TileCellCollection::const_iterator&, */
+	/* 						 const unsigned int sample = 0, bool prepare=true ) = 0; */
+        /* /\** */
+        /* * @brief Loads the full collection for the missing et computation */
+        /* *\/ */
+	/* virtual ExtendedStatusCode loadFullCollections ( const EventContext& context, */
+	/* 						 LArFebEnergyCollection::const_iterator&, */
+	/* 						 LArFebEnergyCollection::const_iterator&, */
+	/* 						 DETID detid, bool prepare=true ) = 0; */
+        /* /\** */
+        /* * @brief Loads the full collection for the missing et computation */
+        /* *\/ */
+	/* virtual ExtendedStatusCode loadFullCollections ( const  EventContext& context, */
+	/* 						 TileL2Container::const_iterator& Begin, */
+	/* 						 TileL2Container::const_iterator& End ) = 0; */
+        /* /\** */
+        /* * @brief Loads the full collection fast */
+        /* *\/ */
+	/* virtual ExtendedStatusCode loadFullCollections ( const EventContext& context, */
+	/* 						 CaloCellContainer::const_iterator&, */
+	/* 						 CaloCellContainer::const_iterator& ) = 0; */
+
+	
+	/* /\** */
+	/*  * //TB numberof Tile identifiers */
+	/*  *  Number of Tile Calorimeter modules found in */
+	/*  * the Region of Interest *\/ */
+	/* virtual unsigned int TileContSize ( void ) const = 0; */
+
+	/* /\** */
+	/*  * //TB afain this is not depending on RoIs */
+	/*  * Number of Tile Calorimeter modules found in */
+	/*  * the Region of Interest MET case -> All Calo*\/ */
+	/* virtual unsigned int TileFullContSize ( void ) const = 0; */
+
+	/**
+	 * //TB errors cound should be accosiated with each conversion step
+	 * this is now returned from each loadCollection method
+	 * Error reporting from BSCnv 
+	 */
+	
+	//virtual uint32_t report_error( void ) = 0;
+
+	
+	/* //TB this methods should be updated/replaced and use new conditions infrastructure */
+        /* /\** begin run handle for conditions *\/ */
+        /* virtual StatusCode beginRunHandle(IOVSVC_CALLBACK_ARGS) = 0; */
+        /* /\** begin run handle for conditions and RegSelSvc *\/ */
+        /* virtual StatusCode beginRunHandle_RegSelSvc(IOVSVC_CALLBACK_ARGS) = 0; */
+
+	/*
+        method to store cells in a container with
+	a given key. The hottest number cells are placed in the
+	  container or all if number=-1, no Key makes the default
+	  key to be RoICells 
+	*/
+        /*
+        template <class T>
+        void  storeCells( const EventContext& context, T Begin, T End, CaloCellContainer*& pContainer,
+        const float threshold = 0., const uint32_t maxsize=1000 );
+        */	
+	/*
+	Expose list of ROBs
+	 // TB unclear if this is meant to be the list of ROBs already downloaded or all robs covering RoI,
+	 // if the former then it makes no sense in MT, if the later then context is not needed
+	 */
+	//	virtual void ROBList( const IRoiDescriptor& roi, std::vector<uint32_t>& vec) const = 0;
+
+
+private :
+	// Dummy method just to help compilation
+  /*
+	void comp (const EventContext& context) {
+	  LArTT_Selector<LArCellCont>::const_iterator l;
+	  TileCellCollection::const_iterator t;
+	  CaloCellContainer * cont=NULL;
+	  l=l;
+	  t=t;
+	  storeCells(context, l,l,cont);
+	  storeCells(context, t,t,cont);
+	}
+  */
+protected:
+};
+
+#endif
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/share/testDataAccessService.py b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/share/testDataAccessService.py
new file mode 100644
index 00000000000..8db0adc9e32
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/share/testDataAccessService.py
@@ -0,0 +1,30 @@
+#
+#  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+#
+
+include("TrigUpgradeTest/testHLT_MT.py")
+
+from AthenaCommon.AlgSequence import AlgSequence
+topSequence = AlgSequence()
+
+
+from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
+
+from TrigCaloDataAccessSvc.TrigCaloDataAccessSvcConf import TrigCaloDataAccessSvc, TestCaloDataAccess
+import math
+mon = GenericMonitoringTool("CaloDataAccessSvcMon")
+mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                   defineHistogram( "roiROBs_LAr", title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
+                   defineHistogram( "TIME_locking_LAr_FullDet", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                   defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-math.pi, ymax=math.pi )]
+
+svcMgr += TrigCaloDataAccessSvc()
+svcMgr.TrigCaloDataAccessSvc.OutputLevel=DEBUG
+svcMgr.TrigCaloDataAccessSvc.MonTool = mon
+
+
+algo = TestCaloDataAccess()
+algo.OutputLevel=DEBUG
+
+
+topSequence += algo
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.cxx b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.cxx
new file mode 100644
index 00000000000..71db165dca6
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.cxx
@@ -0,0 +1,242 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#include <iostream>
+#include "tbb/parallel_reduce.h"
+#include "tbb/blocked_range.h"
+#include "TestTools/expect.h"
+#include "TestTools/ParallelCallTest.h"
+#include "GaudiKernel/Property.h"
+#include "TrigT2CaloCommon/LArCellCont.h"
+#include "TrigSteeringEvent/TrigRoiDescriptor.h"
+#include "TestCaloDataAccess.h"
+
+
+#define DIFF(_name, _a, _b) if ( _a != _b ) \
+    m_msg << MSG::WARNING << "Difference in " << _name << " " << _a << "  ref " << _b  << endmsg;  \
+  else									\
+    m_msg << MSG::DEBUG  << "Identical " << _name << " " << _a << "  ref " << _b  << endmsg; 
+
+
+/**
+ * @brief The test calls for RoI data access
+ * for each RoI returned bunch of quantiries are checked, RoI et, actual RoI span, and cells count
+ **/
+
+class AskForRoI : public ParallelCallTest {
+public:
+  AskForRoI( const EventContext& context, const ServiceHandle<ITrigCaloDataAccessSvc>& svc,  	     
+	     MsgStream& msg,
+	     double eta, double phi, double width ) 
+    : m_context( context ),
+      m_svc( svc ),
+      m_msg( msg ),
+      m_eta( eta ),
+      m_phi( phi ),
+      m_width( width ) {}
+
+  ITrigCaloDataAccessSvc::Status request( LArTT_Selector<LArCellCont>& sel ) const {
+      TrigRoiDescriptor roi( m_eta, -m_width, m_width, // eta
+			     m_phi, -m_width, m_width, // phi
+			     0 ); // z            
+
+      return m_svc->loadCollections( m_context, roi, sel );    
+    }
+
+  // calculate reference quantities in the first call
+  void firstCall() override { 
+    m_statusRef = request( m_selRef );
+
+    for ( const LArCell* cell : m_selRef ) {
+      m_etSumRef += cell->et();
+      m_countRef ++;
+      m_minEtaRef = std::min( m_minEtaRef, cell->eta() );
+      m_maxEtaRef = std::max( m_maxEtaRef, cell->eta() );
+      m_minPhiRef = std::min( m_minPhiRef, cell->phi() );
+      m_maxPhiRef = std::max( m_maxPhiRef, cell->phi() );
+    }
+  }
+  
+  bool callAndCompare() const override {
+
+    LArTT_Selector<LArCellCont> sel;
+    ITrigCaloDataAccessSvc::Status status = request( sel );      
+    double etSum  = 0;      
+    size_t count = 0;
+    double minEta = 100;
+    double maxEta = -100;
+    double minPhi = 100;
+    double maxPhi = -100;
+
+    for ( const LArCell* cell : sel ) {
+      etSum  += cell->et();
+      count ++;
+      minEta  = std::min( minEta, cell->eta() );
+      maxEta  = std::max( maxEta, cell->eta() );
+      minPhi  = std::min( minPhi, cell->phi() );
+      maxPhi  = std::max( maxPhi, cell->phi() );
+    }
+
+
+    DIFF( "RoI mask", status.mask(), m_statusRef.mask() );    
+    DIFF( "RoI count ", count , m_countRef );
+    DIFF( "RoI etSum ", etSum , m_etSumRef );
+    DIFF( "RoI minEta", minEta, m_minEtaRef );
+    DIFF( "RoI maxEta", maxEta, m_maxEtaRef );
+    DIFF( "RoI minPhi", minPhi, m_minPhiRef );
+    DIFF( "RoI maxPhi", maxPhi, m_maxPhiRef );
+    
+    bool checkStatus = m_statusRef.mask() == status.mask()
+      and m_countRef == count
+      and m_etSumRef == etSum 
+      and m_minEtaRef == minEta
+      and m_maxEtaRef == maxEta
+      and m_minPhiRef == minPhi
+      and m_maxPhiRef == maxPhi;
+
+    if ( checkStatus == false ) {
+      
+      // iterate over two slectors and compare cell by cell
+      for ( LArTT_Selector<LArCellCont>::const_iterator refIter = m_selRef.begin(), thisIter = sel.begin(); 
+	    refIter != m_selRef.end() and thisIter != sel.end(); ++refIter, ++thisIter ) {	
+	const LArCell* refCell = *refIter;
+	const LArCell* thisCell = *thisIter;
+	if ( thisCell->et() != refCell->et() ) {
+	  m_msg << MSG::WARNING <<"eta/phi/et Reference cell " << refCell->eta() << "/" << refCell->phi() << "/" << refCell->et() 
+		<<    " differ from the one in this request " << thisCell->eta() << "/" << thisCell->phi() << "/" << thisCell->et() << endmsg;
+	}
+      }
+    }
+
+    return checkStatus;
+  }
+
+private:
+  const EventContext& m_context;
+  const ServiceHandle<ITrigCaloDataAccessSvc>& m_svc;
+  MsgStream& m_msg;
+  MsgStream& msg(){ return m_msg; }
+  const double m_eta;
+  const double m_phi;
+  const double m_width;
+
+  LArTT_Selector<LArCellCont> m_selRef;
+  ITrigCaloDataAccessSvc::Status m_statusRef;
+  double m_etSumRef = 0;
+  size_t m_countRef = 0;
+  double m_minEtaRef = 100;
+  double m_maxEtaRef = -100;
+  double m_minPhiRef = 100;
+  double m_maxPhiRef = -100;
+};
+
+/**
+ * @brief This test reads entire LAr subdetectors and checks if repeated calls point to the same cells (i.e. by total energy sum)
+ **/
+class TestFullLAr : public ParallelCallTest {
+public:
+  TestFullLAr( const EventContext& context, const ServiceHandle<ITrigCaloDataAccessSvc>& svc,  	     
+	       MsgStream& msg, DETID detid )
+    : m_context( context ),
+      m_svc( svc ),
+      m_msg( msg ),
+      m_detid( detid ){}
+
+  void firstCall() override { 
+
+    LArTT_Selector<LArCellCont>::const_iterator i;
+    LArTT_Selector<LArCellCont>::const_iterator end;
+    m_statusRef = m_svc->loadFullCollections( m_context, m_detid, i, end);
+
+    for ( ; i != end; ++i ) {
+      const LArCell* cell =  *i;
+      m_etSumRef += cell->et();
+      m_countRef ++;      
+    }
+  }
+  
+  
+  bool callAndCompare() const override {
+    LArTT_Selector<LArCellCont>::const_iterator i;
+    LArTT_Selector<LArCellCont>::const_iterator end;
+    ITrigCaloDataAccessSvc::Status status = m_svc->loadFullCollections( m_context, m_detid, i, end);
+    double etSum = 0;
+    size_t count = 0;
+
+    for ( ; i != end; ++i ) {
+      const LArCell* cell = *i;
+      etSum += cell->et();
+      count ++;      
+    }
+
+    DIFF( "loadFull mask", status.mask(), m_statusRef.mask() );    
+    DIFF( "loadFull count ", count , m_countRef );
+    DIFF( "loadFull etSum ", etSum , m_etSumRef );
+
+    return status.mask() == m_statusRef.mask() 
+      and count == m_countRef
+      and etSum == m_etSumRef;    
+  }
+
+    private:
+  const EventContext& m_context;
+  const ServiceHandle<ITrigCaloDataAccessSvc>& m_svc;
+  MsgStream& m_msg;
+  const DETID m_detid;
+
+  // reference values
+  ITrigCaloDataAccessSvc::Status m_statusRef;
+  double m_etSumRef = 0;
+  size_t m_countRef = 0;  
+};
+
+
+
+TestCaloDataAccess::TestCaloDataAccess( const std::string& name, 
+			  ISvcLocator* pSvcLocator ) : 
+  ::AthReentrantAlgorithm( name, pSvcLocator ),
+  m_dataAccessSvc( "TrigCaloDataAccessSvc/TrigCaloDataAccessSvc", name )
+{}
+
+TestCaloDataAccess::~TestCaloDataAccess() {}
+
+StatusCode TestCaloDataAccess::initialize() {
+  CHECK( m_dataAccessSvc.retrieve() );
+  return StatusCode::SUCCESS;
+}
+
+
+
+StatusCode TestCaloDataAccess::execute_r( const EventContext& context ) const {  
+  ATH_MSG_DEBUG ( "Executing " << name() << "..." );
+  
+  AskForRoI t1( context, m_dataAccessSvc, msg(), 0.7, 0.1, 0.1);
+  AskForRoI t2( context, m_dataAccessSvc, msg(), 0.7, 0.1, 0.1);  // second identical request
+  AskForRoI t3( context, m_dataAccessSvc, msg(), 0.8, 0.2, 0.2);  // overlaping request
+  AskForRoI t4( context, m_dataAccessSvc, msg(), -1.7, 2.1, 0.4);  // bigger request
+  AskForRoI t5( context, m_dataAccessSvc, msg(), -1., 1.1, 1.4);  // large request with overlap
+
+  TestFullLAr f1( context, m_dataAccessSvc, msg(), TTEM );
+  TestFullLAr f2( context, m_dataAccessSvc, msg(), TTEM ); // ask twice for this part
+  TestFullLAr f3( context, m_dataAccessSvc, msg(), TTHEC ); 
+  TestFullLAr f4( context, m_dataAccessSvc, msg(), FCALEM ); 
+  TestFullLAr f5( context, m_dataAccessSvc, msg(), FCALHAD ); 
+  TestFullLAr f6( context, m_dataAccessSvc, msg(), FCALHAD ); 
+
+    
+  bool result = ParallelCallTest::launchTests( 100, 
+					       { &t1, &t2, &t3, &t4, &t5,
+						   &f1, &f2, &f3, &f4, &f5, &f6
+						   } 
+					       );
+  
+  if ( result == false ) {
+    ATH_MSG_ERROR( "Test of data access failed " );
+    return StatusCode::FAILURE;
+  } 
+
+
+  return StatusCode::SUCCESS;
+}
+
+
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.h b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.h
new file mode 100644
index 00000000000..389505467f9
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TestCaloDataAccess.h
@@ -0,0 +1,35 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#ifndef TrigCaloDataAccessSvc_TestCaloDataAccess_h
+#define TrigCaloDataAccessSvc_TestCaloDataAccess_h
+
+#include <string>
+
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
+#include "TrigCaloDataAccessSvc/ITrigCaloDataAccessSvc.h"
+
+
+/**
+ * @class Test algorithm for the data access svc
+ * @brief It is supposed to try out all the methods + do that from several threads to assure 
+ * service robustness
+ **/
+
+class TestCaloDataAccess
+  : public ::AthReentrantAlgorithm
+{ 
+ public: 
+
+  TestCaloDataAccess( const std::string& name, ISvcLocator* pSvcLocator );
+  virtual ~TestCaloDataAccess(); 
+  virtual StatusCode  initialize() override;
+  virtual StatusCode  execute_r(const EventContext& context) const override;
+ 
+ private: 
+  TestCaloDataAccess();
+  ServiceHandle<ITrigCaloDataAccessSvc> m_dataAccessSvc; 
+}; 
+
+
+#endif 
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.cxx b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.cxx
new file mode 100644
index 00000000000..7fc8cc6f577
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.cxx
@@ -0,0 +1,357 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#include "AthenaMonitoring/MonitoredScope.h"
+#include "TrigCaloDataAccessSvc.h"
+
+
+TrigCaloDataAccessSvc::TrigCaloDataAccessSvc( const std::string& name, ISvcLocator* pSvcLocator )
+  : base_class( name, pSvcLocator ) {
+}
+
+TrigCaloDataAccessSvc::~TrigCaloDataAccessSvc() {}
+
+StatusCode TrigCaloDataAccessSvc::initialize() {
+  CHECK( m_roiMapTool.retrieve() );
+  CHECK( m_larDecoder.retrieve() );
+  CHECK( m_robDataProvider.retrieve() );
+  CHECK( m_regionSelector.retrieve() );
+
+  return StatusCode::SUCCESS;
+}
+
+static const std::vector<unsigned> LAr { TTEM, TTHEC, FCALEM, FCALHAD };
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::prepareCollections( const EventContext& context,
+					   const IRoiDescriptor& roi, 
+					   DETID detid ) {
+  if ( std::count( LAr.begin(), LAr.end(),  detid ) )
+    return prepareLArCollections( context, roi, detid );
+  else
+    return Status::InternalError;
+}
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::prepareFullCollections( const EventContext& context, DETID detid ) {
+
+  if ( std::count( LAr.begin(), LAr.end(),  detid ) )
+    return prepareLArFullCollections( context, detid );
+  else
+    return Status::InternalError;
+  
+}
+
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::loadCollections ( const EventContext& context,
+					 const IRoiDescriptor& roi,
+					 LArTT_Selector<LArCellCont>& loadedCells ) {
+
+  std::vector<IdentifierHash> requestHashIDs;  
+  Status status;
+
+  ATH_MSG_DEBUG( "LArTT requested for event " << context << " and RoI " << roi );  
+  status += prepareLArCollections( context, roi, TTEM );
+  status += prepareLArCollections( context, roi, TTHEC );
+  status += prepareLArCollections( context, roi, FCALEM );
+  status += prepareLArCollections( context, roi, FCALHAD );
+  
+  if ( not status.success() )
+    return status;
+  
+  
+  m_regionSelector->DetHashIDList( TTEM, roi, requestHashIDs );
+  
+  ATH_MSG_DEBUG( "requestHashIDs.size() in LoadColl = " << requestHashIDs.size()  << " hash checksum " 
+    		 << std::accumulate( requestHashIDs.begin(), requestHashIDs.end(), IdentifierHash( 0 ),  
+    				     []( IdentifierHash h1, IdentifierHash h2 ){  return h1+h2; } ) );
+  if ( msgLvl( MSG::VERBOSE ) ) {    
+    for( unsigned int i = 0 ; i < requestHashIDs.size() ; i++ )
+      ATH_MSG_VERBOSE( "m_rIds[" << i << "]=" << requestHashIDs[i] );
+  }
+  loadedCells.setContainer( & ( m_larcell.get( context )->container ) );
+  loadedCells.setMap( m_roiMapTool.operator->() );    
+
+  { 
+    // this has to be guarded because getTT called on the LArCollection bu other threads updates internal map
+    std::lock_guard<std::mutex> getCollClock{ m_larcell.get( context )->mutex };       
+    loadedCells.setRoIs( requestHashIDs );
+  }
+  return status;
+}
+
+
+
+
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::loadFullCollections ( const EventContext& context,
+					     DETID detid,
+					     LArTT_Selector<LArCellCont>::const_iterator& begin,
+					     LArTT_Selector<LArCellCont>::const_iterator& end ) {
+  std::lock_guard<std::mutex> getCollClock{ m_getCollMutex };   
+  Status status = prepareLArFullCollections( context, detid );
+  auto setIterators = [&]( const LArTT_Selector<LArCellCont>& selector ) {
+    begin = selector.begin();
+    end   = selector.end();
+  };
+
+  if ( detid == 0 ) {
+    setIterators( m_larcell.get( context )->allSelector );
+  } else if ( detid == TTEM ) {
+    setIterators ( m_larcell.get( context )->ttemSelector );
+  } else if ( detid == TTHEC ) {
+    setIterators(  m_larcell.get( context )->tthecSelector );
+  } else if ( detid == FCALEM ) {
+    setIterators( m_larcell.get( context )->fcalemSelector );
+  } else if ( detid == FCALHAD ) {
+    setIterators( m_larcell.get( context )->fcalhadSelector );
+  } else {
+    ATH_MSG_ERROR( "Impossible detector ID " << detid );
+    return Status::InternalError;
+  }
+      
+  return status;
+}
+
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::prepareLArFullCollections( const EventContext& context, DETID detid ) {
+
+  ATH_MSG_DEBUG( "Full LArTT " << detid << " requested for event " << context );
+  if ( lateInit().isFailure() ) {
+    return Status::InternalError;
+  }
+  
+  m_roiMapTool->CollectionID( 0 ); // triggers init of the inner structures
+
+  const std::vector<uint32_t>* requestROBs = nullptr;
+  if ( detid == 0 ) {
+    requestROBs =  &m_allLArIDs.robs;
+  } else {
+    DETIDtoIdentifiers::const_iterator ids = m_detectorIDs.find( detid );
+    if ( ids == m_detectorIDs.end() ) {
+      ATH_MSG_ERROR( "Impossible detector ID " << detid );
+      return Status::InternalError;
+    }    
+    requestROBs = &( ids->second.robs );
+  }
+
+  std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> robFrags;
+  {
+    std::lock_guard<std::mutex> dataPrepLock { m_dataPrepMutex };
+    m_robDataProvider->addROBData( *requestROBs );
+    m_robDataProvider->getROBData( *requestROBs, robFrags );      
+  }
+
+  LArEventCache* cache = m_larcell.get( context );
+  
+  auto lockTime = Monitored::MonitoredTimer::declare ( "TIME_locking_LAr_FullDet" );  
+  std::lock_guard<std::mutex> collectionLock { cache->mutex };  
+  lockTime.stop();
+
+  cache->container.eventNumber( context.evt() );
+  
+  Status status = convertROBs( robFrags, &( cache->container ) );
+
+  if ( requestROBs->size() != robFrags.size() ) {
+    ATH_MSG_DEBUG( "Missing ROBs, requested " << requestROBs->size() << " obtained " << robFrags.size() );
+    status.addError( Status::MissingROB );
+    clearMissing( *requestROBs, robFrags, &( cache->container ) );
+  }
+  auto detidMon = Monitored::MonitoredScalar::declare<int>( "det", detid );
+
+  Monitored::MonitoredScope::declare( m_monTool, lockTime, detidMon );
+  return status;  
+}
+
+
+
+StatusCode TrigCaloDataAccessSvc::lateInit() {
+  std::lock_guard<std::mutex> lock( m_initMutex );
+  if ( m_lateInitDone ) 
+    return StatusCode::SUCCESS;
+  
+  ATH_MSG_DEBUG( "Performing late init" );
+  // filling all sub det selectors
+  for ( auto detector: {TTEM, TTHEC, FCALEM, FCALHAD } ) {
+    m_regionSelector->DetROBIDListUint( detector, m_detectorIDs[detector].robs );
+    m_regionSelector->DetHashIDList(    detector, m_detectorIDs[detector].ids );
+    m_allLArIDs.merge( { m_detectorIDs[detector] } );
+  }
+    
+
+  for ( LArEventCache& cache: m_larcell ) { 
+    CHECK( cache.container.initialize( m_applyOffsetCorrection ) );
+
+    auto prepareSelectors = [&]( LArTT_Selector<LArCellCont>& selector, const FullDetIDs& i ) {
+      selector.setContainer( &( cache.container ) );
+      selector.setMap( m_roiMapTool.operator->() );
+      selector.setRoIs( i.ids );      
+
+    };
+    prepareSelectors( cache.allSelector,     m_allLArIDs );
+    prepareSelectors( cache.ttemSelector,    m_detectorIDs[TTEM] );
+    prepareSelectors( cache.tthecSelector,   m_detectorIDs[TTHEC] );
+    prepareSelectors( cache.fcalemSelector,  m_detectorIDs[FCALEM] );
+    prepareSelectors( cache.fcalhadSelector, m_detectorIDs[FCALHAD] );    
+  }
+
+
+
+  m_lateInitDone = true;
+  return StatusCode::SUCCESS;
+}
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::convertROBs( const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& robFrags, LArCellCont* larcell ) {
+
+  Status status;
+  ATH_MSG_DEBUG( "start decoding" );
+  for ( auto rob: robFrags ) {
+    uint32_t sourceID = rob->source_id();
+    const std::vector<LArCellCollection*>::const_iterator it = larcell->find( sourceID );
+    //TB The find also switches the state of the collection to "decoded" so repeated decoding is avoided
+
+    if ( it != larcell->end() && ( *it )->size() != 0 ) { // Already decoded collection
+
+      // TB if we have entered here it means the decoding did not occur yet ( or failed )
+      // 
+      LArCellCollection* coll = *it; 
+      ATH_MSG_DEBUG( "ROB of ID " << sourceID << " to be decoded"   );
+
+      //TB next two lines seem danger, as they seem to rely on the decoder state 
+      m_larDecoder->setsecfeb( larcell->findsec( sourceID ) );
+      if ( ! m_larDecoder->check_valid( rob, msg() ) ){
+      	ATH_MSG_WARNING( "Error reading bytestream"<<
+      			 "event: Bad ROB block ( eformat checks ) : 0x"
+      			 << std::hex << sourceID << std::dec );
+      	// Data seems corrupted
+      	status.addError( Status::RawDataCorrupted );
+      	reset_LArCol ( coll );
+
+      } else {
+	// Get Rod Data and size of fragment
+	const uint32_t* roddata = 0;
+	rob->rod_data( roddata );
+	size_t roddatasize = rob->rod_ndata();
+	if ( roddatasize < 3 ) {
+	  ATH_MSG_WARNING( "Error reading bytestream"<<
+			   "event: Empty ROD block ( less than 3 words ) : 0x"
+			   << std::hex << sourceID << std::dec );
+	  // Data seems corrupted
+	  status.addError( Status::RawDataCorrupted );
+	  reset_LArCol ( coll );
+	  //return StatusCode::SUCCESS;
+	} else { // End of if small size
+	  //TB the converter has state
+	  m_larDecoder->setRobFrag( rob );
+	  m_larDecoder->fillCollectionHLT( roddata, roddatasize, *coll );
+
+
+	  // size_t collsize = coll->size();	  
+	  // for(int i=0;i<collsize;i++) {
+	  //   std::cout << sourceID << " " << collsize << " " << i << " ";
+	  //   std::cout << coll->at(i) << "ID " << coll->at(i)->ID() << " ";
+	  //   std::cout << coll->at(i)->energy() << " DDE ";
+	  //   std::cout << coll->at(i)->caloDDE() << "\n";
+	  //   if ( coll->at(i)->caloDDE() ) {
+	  //     std::cout << coll->at(i)->eta() << " ";
+	  //     std::cout << coll->at(i)->phi() << " \n";
+	  //   }
+	  // }
+	  
+
+	  // Accumulates inferior byte from ROD Decoder
+	  // TB the converter has state! we need to fix it
+	  status.addError( m_larDecoder->report_error() );
+
+	  if ( m_applyOffsetCorrection ) larcell->applyBCIDCorrection( sourceID );
+	} 
+	
+      }
+    } else {
+      ATH_MSG_VERBOSE( "ROB of ID " <<  sourceID << " already decoded" );
+    }
+  }
+  ATH_MSG_DEBUG( "finished decoding" );
+  return status;  
+}
+
+void TrigCaloDataAccessSvc::missingROBs( const std::vector<uint32_t>& request,
+					 const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& response,
+					 std::set<uint32_t>& missing ) const {
+
+  std::set<uint32_t> receivedROBsSet;
+  for ( auto rob: response ) 
+    receivedROBsSet.insert( rob->source_id() );
+  std::set<uint32_t> requestedROBsSet( request.begin(), request.end() );
+  
+  std::set_difference( requestedROBsSet.begin(), requestedROBsSet.end(),
+		       receivedROBsSet.begin(), receivedROBsSet.end(),
+		       std::inserter( missing, missing.begin() ) );  
+}
+
+
+void TrigCaloDataAccessSvc::clearMissing( const std::vector<uint32_t>& request,
+					  const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& response, 
+					  LArCellCont* larcell ) {
+  std::set<uint32_t> missing;
+  missingROBs( request, response, missing );
+  for ( uint32_t robID : missing ) {
+    const std::vector<LArCellCollection*>::const_iterator it = larcell->find( robID );
+    if ( it != larcell->end() && ( *it )->size()!=0 ) { // Already decoded collection
+      reset_LArCol ( *it );
+    } 
+  }  
+}
+
+
+TrigCaloDataAccessSvc::Status 
+TrigCaloDataAccessSvc::prepareLArCollections( const EventContext& context,
+					      const IRoiDescriptor& roi, 
+					      DETID detector ) {
+  if ( lateInit().isFailure() ) {
+    return Status::InternalError;
+  }
+
+  std::vector<uint32_t> requestROBs;
+
+  std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> robFrags;
+  {
+    std::lock_guard<std::mutex> dataPrepLock { m_dataPrepMutex };
+    m_regionSelector->DetROBIDListUint( detector, roi, requestROBs ); // we know that the RegSelSvc is thread safe   
+    m_robDataProvider->getROBData( requestROBs, robFrags );
+  }
+  if ( robFrags.empty() ) {
+    return Status();
+  }
+
+  LArEventCache* cache = m_larcell.get( context );
+
+  auto lockTime = Monitored::MonitoredTimer::declare ( "TIME_locking_LAr_RoI" );  
+  std::lock_guard<std::mutex> collectionLock { cache->mutex };  
+  lockTime.stop();
+
+  // TB, what would happen from now inside the collection unapcking
+  // if this event number is different than the one for each collection the unpacking will happen, 
+  // if it is the same the unpacking will not be repeated
+  // same in prepareLArFullCollections
+  cache->container.eventNumber( context.evt() );
+  
+  Status status = convertROBs( robFrags, &( cache->container ) );
+
+  if ( requestROBs.size() != robFrags.size() ) {
+    ATH_MSG_DEBUG( "Missing ROBs, requested " << requestROBs.size() << " obtained " << robFrags.size() );
+    status.addError( Status::MissingROB );
+    clearMissing( requestROBs, robFrags, &( cache->container ) );
+  }
+  auto roiROBs = Monitored::MonitoredScalar::declare( "roiROBs_LAr", robFrags.size() );
+  auto roiEta = Monitored::MonitoredScalar::declare( "roiEta_LAr", roi.eta() );
+  auto roiPhi = Monitored::MonitoredScalar::declare( "roiPhi_LAr", roi.phi() );
+
+  Monitored::MonitoredScope::declare( m_monTool, lockTime, roiEta, roiPhi, roiROBs );
+  return status;
+}
+
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.h b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.h
new file mode 100644
index 00000000000..909d806f5f8
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/TrigCaloDataAccessSvc.h
@@ -0,0 +1,154 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TrigCaloDataAccessSvc_TrigCaloDataAccessSvc_h
+#define TrigCaloDataAccessSvc_TrigCaloDataAccessSvc_h
+
+#include <mutex>
+#include "AthenaBaseComps/AthService.h"
+#include "AthenaKernel/SlotSpecificObj.h"
+#include "LArByteStream/LArRodDecoder.h"
+#include "LArRawUtils/LArTT_Selector.h"
+#include "TileByteStream/TileCellCont.h"
+#include "TrigT2CaloCommon/LArCellCont.h"
+#include "LArRecEvent/LArFebEnergyCollection.h"
+#include "TileEvent/TileCellCollection.h"
+#include "TileEvent/TileL2Container.h"
+#include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h"
+#include "IRegionSelector/IRoiDescriptor.h"
+#include "IRegionSelector/IRegSelSvc.h"
+#include "TrigCaloDataAccessSvc/ITrigCaloDataAccessSvc.h"
+#include "AthenaMonitoring/GenericMonitoringTool.h"
+
+
+class TrigCaloDataAccessSvc : public extends<AthService, ITrigCaloDataAccessSvc> {
+ public:
+  TrigCaloDataAccessSvc(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~TrigCaloDataAccessSvc();
+  
+  using ITrigCaloDataAccessSvc::Status;
+
+
+  virtual StatusCode initialize() override;
+  
+  virtual Status prepareCollections( const EventContext& context,
+				     const IRoiDescriptor& roi, 
+				     DETID detector ) override;
+  
+  virtual Status loadCollections ( const EventContext& context,
+				   const IRoiDescriptor& roi,
+				   LArTT_Selector<LArCellCont>& loadedCells ) override;
+  
+
+
+  virtual Status prepareFullCollections( const EventContext& context, DETID detid ) override;
+  
+  virtual Status loadFullCollections ( const EventContext& context,
+				       DETID detid,
+				       LArTT_Selector<LArCellCont>::const_iterator& begin,
+				       LArTT_Selector<LArCellCont>::const_iterator& end ) override;
+  
+ private:
+  
+  PublicToolHandle<LArRodDecoder> m_larDecoder { this, "LArDecoderTool", "LArRodDecoder/LArRodDecoder", "Tool to decode LAr raw data" };
+
+  //!< LArRoI_Map used by LArTT_Selector, TB this is apparently a tool!
+  PublicToolHandle<LArRoI_Map> m_roiMapTool { this, "LArRoIMapTool", "LArRoI_Map/LArRoI_Map", "Tool used by selectors" };           
+
+  ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Tool to monitor performance of the service" };
+
+  ServiceHandle<IROBDataProviderSvc>  m_robDataProvider{ this, "ROBDataProvider", "ROBDataProviderSvc/ROBDataProviderSvc", ""};
+  ServiceHandle<IRegSelSvc>         m_regionSelector{ this, "RegionSelector", "RegSelSvc/RegSelSvc", ""};
+  
+  Gaudi::Property<bool> m_applyOffsetCorrection { this, "ApplyOffsetCorrection", false, "Enable offset correction" };
+
+  void reset_LArCol ( LArCellCollection* coll ){
+    for(LArCellCollection::iterator ii=coll->begin();ii!=coll->end();++ii)
+      (*ii)->setEnergyFast(0.0);
+  }
+
+  /**
+   * @brief Convenience structure to keep together all ROBs and IdentifierHashes 
+   * for whole detectors.
+   **/
+  struct FullDetIDs {
+    std::vector<uint32_t> robs;
+    std::vector<IdentifierHash> ids;
+    DETID detid;
+    void merge( const std::initializer_list<FullDetIDs>& list ) {
+      for ( auto& el: list ) {
+	std::copy( el.robs.begin(), el.robs.end(), std::back_inserter(robs) );
+	std::copy( el.ids.begin(), el.ids.end(), std::back_inserter(ids) );
+      }
+    }
+
+  };
+  typedef std::map<DETID, FullDetIDs> DETIDtoIdentifiers;
+  DETIDtoIdentifiers m_detectorIDs; 
+  
+  FullDetIDs m_allLArIDs;
+  
+  /* FullDetIDs m_ttemIDs; */
+  /* FullDetIDs m_tthecIDs; */
+  /* FullDetIDs m_fcalemIDs; */
+  /* FullDetIDs m_fcalhadIDs; */
+
+
+  /**
+   * @brief convience structure to keep together a collection and auxiliar full collection selectors
+   */
+  struct  LArEventCache {
+    LArCellCont container;
+    std::mutex mutex;    
+    LArTT_Selector<LArCellCont> allSelector;
+    LArTT_Selector<LArCellCont> ttemSelector;
+    LArTT_Selector<LArCellCont> tthecSelector;
+    LArTT_Selector<LArCellCont> fcalemSelector;
+    LArTT_Selector<LArCellCont> fcalhadSelector;
+  };
+
+  
+  SG::SlotSpecificObj< LArEventCache > m_larcell;
+
+  std::mutex m_initMutex; // this will be gone once we move to new conditions
+  std::mutex m_dataPrepMutex; // this will be gone when reg sel & Rob DP will become thread safe
+  std::mutex m_getCollMutex; // this will be gone
+
+  StatusCode lateInit();
+  bool m_lateInitDone = false;
+
+  Status convertROBs(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& robFrags, LArCellCont* larcell );
+
+
+  /**
+   * @brief fill the set of missing robs given the request and response from RoBDatProvider
+   **/
+  void missingROBs( const std::vector<uint32_t>& request,
+		    const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& response,
+		    std::set<uint32_t>& missing ) const;
+
+  /**
+   * @brief clear fragments of the collection for which ROBs were not available
+   **/
+  void clearMissing( const std::vector<uint32_t>& request,
+		     const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& response, 
+		     LArCellCont* larcell );
+
+  /**
+   * @brief LAr TT collections preparation code
+   **/
+  Status prepareLArCollections( const EventContext& context,
+				const IRoiDescriptor& roi, 
+				DETID detector );
+
+
+  Status prepareLArFullCollections( const EventContext& context, DETID detid );
+
+
+};
+
+
+#endif
+
+
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/components/TrigCaloDataAccessSvc_entries.cxx b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/components/TrigCaloDataAccessSvc_entries.cxx
new file mode 100644
index 00000000000..ca728cd3a66
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/src/components/TrigCaloDataAccessSvc_entries.cxx
@@ -0,0 +1,5 @@
+#include "../TrigCaloDataAccessSvc.h"
+#include "../TestCaloDataAccess.h"
+
+DECLARE_COMPONENT( TrigCaloDataAccessSvc) 
+DECLARE_COMPONENT( TestCaloDataAccess )
diff --git a/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/test/test_dataaccess.sh b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/test/test_dataaccess.sh
new file mode 100755
index 00000000000..f9ec4ac69f2
--- /dev/null
+++ b/Trigger/TrigDataAccess/TrigCaloDataAccessSvc/test/test_dataaccess.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# art-type: build
+# art-ci: master
+
+athena.py --concurrent-events=1 --threads=1 -c 'EvtMax=10;enableViews=False;doMuon=False;doID=False;FilesInput="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"' TrigCaloDataAccessSvc/testDataAccessService.py
diff --git a/Trigger/TrigFTK/TrigFTKByteStream/TrigFTKByteStream/IFTKByteStreamDecoderEncoderTool.h b/Trigger/TrigFTK/TrigFTKByteStream/TrigFTKByteStream/IFTKByteStreamDecoderEncoderTool.h
new file mode 100644
index 00000000000..95183b11e3f
--- /dev/null
+++ b/Trigger/TrigFTK/TrigFTKByteStream/TrigFTKByteStream/IFTKByteStreamDecoderEncoderTool.h
@@ -0,0 +1,32 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef IFTKBYTESTREAMDECODERENCODERTOOL_H
+#define IFTKBYTESTREAMDECODERENCODERTOOL_H
+
+#include "GaudiKernel/IAlgTool.h"
+#include "ByteStreamData/RawEvent.h"
+
+#include "TrigFTK_RawData/FTK_RawTrackContainer.h"
+
+
+static const InterfaceID IID_IFTKByteStreamDecoderEncoderTool("IFTKByteStreamDecoderEncoderTool",1,0);
+
+namespace FTK {
+
+  class IFTKByteStreamDecoderEncoderTool : virtual public IAlgTool {
+    
+  public:
+    static const InterfaceID& interfaceID ()   
+      {  return IID_IFTKByteStreamDecoderEncoderTool; } 
+
+    
+    virtual StatusCode decode(const uint32_t nDataWords, OFFLINE_FRAGMENTS_NAMESPACE::PointerType rodData, FTK_RawTrackContainer* result)=0;
+    virtual StatusCode encode(const FTK_RawTrackContainer* result, std::vector<uint32_t>& payload)=0;
+    
+    
+  };
+
+}
+#endif
diff --git a/Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.cxx b/Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.cxx
new file mode 100644
index 00000000000..481879f2af5
--- /dev/null
+++ b/Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.cxx
@@ -0,0 +1,299 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+/**
+ * FTKByteStreamDecoderEncoderAux bytestream encoding and decoding for the FTK
+ *
+ *              original version by B. Mindur and T. Bold
+ *  2017/03/14  trailer [en,de]coding  / J. Masik
+ */
+
+#include "GaudiKernel/MsgStream.h"
+#include "FTKByteStreamDecoderEncoderAux.h"
+#include "AthenaBaseComps/AthMessaging.h"
+
+
+using namespace FTKByteStreamDecoderEncoderAux;
+
+
+namespace FTK {
+
+
+  /*
+    size_t decodeNumberOfTracks(OFFLINE_FRAGMENTS_NAMESPACE::PointerType rodData) {
+    uint16_t low, high;
+    uint32_t all;
+    unpackNumberOfTracks(rodData, low, high, all);
+    return all;
+    }
+  */
+
+
+  FTKByteStreamDecoderEncoderAuxTool::FTKByteStreamDecoderEncoderAuxTool(const std::string& toolname, 
+								   const std::string& type, 
+								   const IInterface* parent) 
+    : AthAlgTool(toolname, type, parent),
+      m_doHeader(false),
+      m_doTrailer(false)
+  {
+    declareInterface< IFTKByteStreamDecoderEncoderTool  >( this );
+    declareProperty("doHeader", m_doHeader);
+    declareProperty("doTrailer", m_doTrailer);
+    declareProperty("towerID", m_towerID);
+  }
+
+
+  FTKByteStreamDecoderEncoderAuxTool::~FTKByteStreamDecoderEncoderAuxTool(){;}
+
+  StatusCode   FTKByteStreamDecoderEncoderAuxTool::initialize(){
+    return StatusCode::SUCCESS;
+  }
+
+  StatusCode   FTKByteStreamDecoderEncoderAuxTool::finalize(){
+    return StatusCode::SUCCESS;
+  }
+
+  //not used
+  void FTKByteStreamDecoderEncoderAuxTool::packNumberOfTracks(uint16_t nTracksLowPt, uint16_t nTracksHighPt, 
+							   std::vector<uint32_t>& rod ){
+    uint32_t size_data = nTracksHighPt;
+    size_data <<= 16;
+    size_data |= nTracksLowPt;
+    rod.push_back( size_data );
+  }
+
+  //not used
+  void FTKByteStreamDecoderEncoderAuxTool::unpackNumberOfTracks(OFFLINE_FRAGMENTS_NAMESPACE::PointerType rodData, 
+							     uint16_t& nTracksLowPt, uint16_t& nTracksHighPt, uint32_t& nTracks){
+    nTracksLowPt  =  rodData[0] & 0xffff; 
+    nTracksHighPt =  (rodData[0]>>16) & 0xffff; 
+  
+    nTracks = nTracksLowPt; // conversion to 32 + assignement
+    nTracksLowPt += nTracksHighPt; // adding to more capable type
+  }
+
+  
+  void FTKByteStreamDecoderEncoderAuxTool::packPixelCluster(const FTK_RawPixelCluster& cluster, 
+							 std::vector<uint32_t>& payload){
+    payload.push_back( cluster.getWordA() );
+    payload.push_back( cluster.getWordB() );
+  }
+
+
+  void FTKByteStreamDecoderEncoderAuxTool::unpackPixCluster(OFFLINE_FRAGMENTS_NAMESPACE::PointerType data, 
+							 FTK_RawPixelCluster& cluster){
+    cluster.setWordA(0); // no moduleID
+    cluster.setWordB(*(data+1));
+  }
+
+  void FTKByteStreamDecoderEncoderAuxTool::packSCTCluster(const FTK_RawSCT_Cluster& cluster, 
+						       std::vector<uint32_t>& payload){
+
+    payload.push_back(0);
+    unsigned int word = (unsigned int) cluster.getHitCoord();
+    word += cluster.getHitWidth()<<12;
+    payload.push_back(word);
+
+  }
+
+  void FTKByteStreamDecoderEncoderAuxTool::unpackSCTCluster(OFFLINE_FRAGMENTS_NAMESPACE::PointerType data, 
+							 FTK_RawSCT_Cluster& cluster){
+
+    uint32_t coord = (*(data+1) & 0x7ff);
+    uint32_t width = (((*(data+1)>>12) & 0x7));
+    uint32_t word = (width<<28) + (coord<<16); 
+    cluster.setWord(word);
+  }
+
+  void FTKByteStreamDecoderEncoderAuxTool::packTrack(const FTK_RawTrack* track, 
+						  std::vector<uint32_t>& payload){
+    unsigned int word = 0x80000000 | track->getSectorID() | (track->getTower()<<24);
+    payload.push_back( word );
+    payload.push_back( track->getRoadID() );
+    
+    for ( std::vector<FTK_RawPixelCluster>::const_iterator it = track->getPixelClusters().begin();
+	  it != track->getPixelClusters().end(); ++it ) {
+      packPixelCluster(*it, payload);
+    }
+    
+    for ( std::vector<FTK_RawSCT_Cluster>::const_iterator it = track->getSCTClusters().begin();
+	  it != track->getSCTClusters().end(); ++it ) {
+      packSCTCluster(*it, payload);
+    }
+  }
+
+  FTK_RawTrack* FTKByteStreamDecoderEncoderAuxTool::unpackFTTrack( OFFLINE_FRAGMENTS_NAMESPACE::PointerType data){
+
+    FTK_RawTrack* track = new FTK_RawTrack();
+    track->setSectorID(data[0] & 0xffff);
+    track->setTower(m_towerID);  // Bugfix for towerID set to 0 in data
+    track->setRoadID(data[1] & 0xffffff);
+    track->setLayerMap(0x75e);
+    
+    data += TrackParamsBlobSize;
+    
+
+
+    // get pixel hits  
+    track->getPixelClusters().resize(NPixLayers);
+    for ( size_t i = 1; i < NPixLayers; ++i) {
+
+      unpackPixCluster(data, track->getPixelCluster(i) );    
+      data += PixHitParamsBlobSize;
+
+    }
+    
+    // gets SCT hits
+
+
+    std::vector<size_t> sctplane={0,2,4,5,6};
+
+    track->getSCTClusters().resize(NSCTLayers);
+    for ( size_t i = 0; i < sctplane.size(); ++i) {
+
+      unpackSCTCluster(data, track->getSCTCluster(sctplane[i]) );    
+
+      data+= SCTHitParamsBlobSize;
+    }
+    // no more shifts needed
+    return track;
+  }  
+
+
+  
+  void FTKByteStreamDecoderEncoderAuxTool::packHeader(std::vector<uint32_t> &payload){
+    payload.push_back(0xb0f00000);
+    payload.push_back(0xff1234ff);
+    payload.push_back(2);     //run number
+    payload.push_back(3);     //extended lvl1 ID
+    payload.push_back(3);     //TTCrcBCID
+    payload.push_back(3);     //lvl1 trigger type 
+    payload.push_back(3);     //detector event type
+  
+    if (payload.size() != FTKByteStreamDecoderEncoderAux::headerSize){
+      ATH_MSG_ERROR("Inconsistent header size");
+    }
+  }
+
+  void FTKByteStreamDecoderEncoderAuxTool::unpackHeader(OFFLINE_FRAGMENTS_NAMESPACE::PointerType &rodData){
+    //marker
+    uint32_t marker = rodData[0];
+    if (marker!=FTKByteStreamDecoderEncoderAux::headerMarker){
+      ATH_MSG_DEBUG("Not dealing with an FTK fragment " << std::hex << marker << " vs the marker " << FTKByteStreamDecoderEncoderAux::headerMarker << std::dec );
+      //rodData += FTKByteStreamDecoderEncoderAux::headerSize -1;
+      return;
+    }
+    //skip to the end
+    rodData += 7;
+  }
+
+  void FTKByteStreamDecoderEncoderAuxTool::packTrailer(std::vector<uint32_t> &payload){
+
+    //    packMonitoring()
+    payload.push_back(0xe0da0000);   
+    payload.push_back(3); //extL1id
+    payload.push_back(0);   //error_flag
+    payload.push_back(10);   //reserved word #1
+    payload.push_back(0);  //module data word count
+    payload.push_back(0xe0f0000); 
+    
+  }
+
+  void FTKByteStreamDecoderEncoderAuxTool::unpackMonitoring(OFFLINE_FRAGMENTS_NAMESPACE::PointerType &rodData){
+    if ( (rodData[0] & 0xFFFF0000) == 0xE0DA0000) {
+      ATH_MSG_DEBUG("marker 0xE0DA0000 found");
+      //while (
+    }
+    return;
+  }
+
+
+  void FTKByteStreamDecoderEncoderAuxTool::unpackTrailer(OFFLINE_FRAGMENTS_NAMESPACE::PointerType &rodData){
+    auto beforeMonitoring = rodData;
+    unpackMonitoring(rodData);
+    if (rodData == beforeMonitoring){
+      ATH_MSG_DEBUG("Extra monitoring records not found");
+    } else {
+      ATH_MSG_DEBUG("Monitoring records of size " << (rodData-beforeMonitoring)/sizeof(OFFLINE_FRAGMENTS_NAMESPACE::PointerType));
+    }
+
+    //first word
+    uint32_t  firstword = rodData[0]; 
+    if (firstword != 0xe0da0000){
+      ATH_MSG_ERROR("Trailer first word should read 0xe0da0000 but got 0x"<<std::hex<<firstword<<std::dec);
+    }
+    uint32_t extL1id = rodData[1];     
+    ATH_MSG_DEBUG("extL1id " << extL1id);
+
+    uint32_t error_flag = rodData[2];  
+    ATH_MSG_DEBUG("error_flag " << error_flag);
+    //reserved word
+    ATH_MSG_DEBUG("reserved " << rodData[3]);   rodData++;
+
+    uint32_t  numDataElems  = rodData[4]; 
+    ATH_MSG_DEBUG("Number of Data Elements " << numDataElems);
+    
+    //last word
+    uint32_t  lastword = rodData[5]; 
+    if (lastword != 0xe0f00000){
+      ATH_MSG_ERROR("trailer lastword should read 0xe0f00000");
+    }
+  }
+
+  StatusCode FTKByteStreamDecoderEncoderAuxTool::encode(const FTK_RawTrackContainer* container, std::vector<uint32_t>& payload) {
+  
+    // We used to have a word defining the number of low/high pt tracks, that is no longer necessary
+    // // do not know yet what tracks are high pT, so all will be low pT
+    // payload.reserve( 1 + TrackParamsBlobSize * container->size() );
+    // packNumberOfTracks( container->size(), 0, payload );  
+  
+    payload.reserve(TrackParamsBlobSize * container->size() );
+  
+    if (m_doHeader){
+      packHeader(payload);
+    }
+    
+    for ( FTK_RawTrackContainer::const_iterator track = container->begin(); 
+	  track != container->end(); ++track ) {
+      packTrack(*track, payload);
+    }
+
+    if (m_doTrailer){
+      packTrailer(payload);
+    }
+    
+    return StatusCode::SUCCESS;
+  
+  }  
+
+
+  StatusCode FTKByteStreamDecoderEncoderAuxTool::decode(uint32_t nDataWords, OFFLINE_FRAGMENTS_NAMESPACE::PointerType rodData, FTK_RawTrackContainer* result) {
+
+    ATH_MSG_DEBUG("FTKByteStreamDecoderEncoderAuxTool::decode for nDataWords=" << nDataWords);
+
+    uint32_t nTracks = nDataWords / TrackBlobSize;
+    
+    ATH_MSG_DEBUG("rodData: " << rodData);
+
+    if (m_doHeader){
+      unpackHeader(rodData);
+    }
+    ATH_MSG_DEBUG("rodData: " << rodData);
+    result->reserve(result->size() + nTracks);
+    for ( size_t i = 0; i < nTracks; ++i ) {
+      FTK_RawTrack* track = unpackFTTrack( rodData );
+      rodData += TrackBlobSize;
+      result->push_back(track);
+    }
+
+    if (m_doTrailer){
+      unpackTrailer(rodData);
+    }
+    
+    return StatusCode::SUCCESS;
+  }
+
+
+}
diff --git a/Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.h b/Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.h
new file mode 100644
index 00000000000..e3f96fccd00
--- /dev/null
+++ b/Trigger/TrigFTK/TrigFTKByteStream/src/FTKByteStreamDecoderEncoderAux.h
@@ -0,0 +1,78 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef FTKBYTESTREAMDECODERENCODERAUX_H
+#define FTKBYTESTREAMDECODERENCODERAUX_H
+
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "ByteStreamData/RawEvent.h"
+
+#include "TrigFTK_RawData/FTK_RawTrackContainer.h"
+#include "TrigFTK_RawData/FTK_RawPixelCluster.h"
+#include "TrigFTK_RawData/FTK_RawSCT_Cluster.h"
+#include "TrigFTKByteStream/IFTKByteStreamDecoderEncoderTool.h"
+
+
+namespace FTKByteStreamDecoderEncoderAux {
+
+  const size_t TrackBlobSize = 18; // magic number from BS specification
+  const size_t TrackParamsBlobSize = 2; // --||--
+  const size_t PixHitParamsBlobSize = 2; // --||--
+  const size_t SCTHitParamsBlobSize = 2; // --||--
+  const size_t NPixLayers=4; // number of layers in FTK_RawTrack (not the no. layers in BS)
+  const size_t NSCTLayers=8; // number of layers in FTK_RawTrack (not the no. layers in BS)
+
+  const uint32_t headerMarker = 0xb0f00000; 
+  const uint32_t headerSize   = 0x7;
+
+}
+
+namespace FTK {
+
+  class FTKByteStreamDecoderEncoderAuxTool : public AthAlgTool, virtual public  IFTKByteStreamDecoderEncoderTool {
+    
+  public:
+    FTKByteStreamDecoderEncoderAuxTool(const std::string& name, const std::string& type,
+				    const IInterface* parent);
+    virtual ~FTKByteStreamDecoderEncoderAuxTool();
+    
+    virtual StatusCode initialize();
+    virtual StatusCode finalize();
+    
+    StatusCode decode(uint32_t nDataWords, OFFLINE_FRAGMENTS_NAMESPACE::PointerType rodData, FTK_RawTrackContainer* result);
+    StatusCode encode(const FTK_RawTrackContainer* result, std::vector<uint32_t>& payload);
+    
+    static const InterfaceID& interfaceID( ) ; 
+    
+  private:
+    //to be removed
+    void packNumberOfTracks(uint16_t nTracksLowPt, uint16_t nTracksHighPt, std::vector<uint32_t>& rod );
+    void unpackNumberOfTracks(OFFLINE_FRAGMENTS_NAMESPACE::PointerType rodData, 
+			      uint16_t& nTracksLowPt, uint16_t& nTracksHighPt, uint32_t& nTracks);
+
+    //
+    void packPixelCluster(const FTK_RawPixelCluster& cluster, std::vector<uint32_t>& payload);
+    void unpackPixCluster(OFFLINE_FRAGMENTS_NAMESPACE::PointerType data, FTK_RawPixelCluster& cluster);
+    
+    void packSCTCluster(const FTK_RawSCT_Cluster& cluster, std::vector<uint32_t>& payload);
+    void unpackSCTCluster(OFFLINE_FRAGMENTS_NAMESPACE::PointerType data, FTK_RawSCT_Cluster& cluster);
+    
+    void packTrack(const FTK_RawTrack* track, std::vector<uint32_t>& payload);
+    FTK_RawTrack* unpackFTTrack( OFFLINE_FRAGMENTS_NAMESPACE::PointerType data);
+    
+    void packHeader(std::vector<uint32_t> &payload);
+    void unpackHeader(OFFLINE_FRAGMENTS_NAMESPACE::PointerType &rodData);
+    
+    void packTrailer(std::vector<uint32_t> &payload);
+    void unpackTrailer(OFFLINE_FRAGMENTS_NAMESPACE::PointerType &rodData);
+
+    void unpackMonitoring(OFFLINE_FRAGMENTS_NAMESPACE::PointerType &rodData);
+
+    bool m_doHeader;
+    bool m_doTrailer;
+    uint32_t m_towerID;
+  };
+
+}
+#endif
diff --git a/Trigger/TrigFTK/TrigFTKSim/share/FTKDumpCond_12Libl123_jobOptions.py b/Trigger/TrigFTK/TrigFTKSim/share/FTKDumpCond_12Libl123_jobOptions.py
new file mode 100644
index 00000000000..bdee13623f7
--- /dev/null
+++ b/Trigger/TrigFTK/TrigFTKSim/share/FTKDumpCond_12Libl123_jobOptions.py
@@ -0,0 +1,38 @@
+#-----------------------------------------------------------------------------
+# Athena imports
+#-----------------------------------------------------------------------------
+from AthenaCommon.AlgSequence import AlgSequence
+theJob = AlgSequence()
+
+#--------------------------------------------------------------
+# FTK algorithm inclusions
+#--------------------------------------------------------------
+from AthenaCommon.AppMgr import ToolSvc 
+from TrigFTKSim.TrigFTKSimConf import FTKDetectorTool, FTKDumpCondAlgo
+
+print "Add FTKDetector tool"
+FTKDet = FTKDetectorTool()
+FTKDet.FTK_BadModuleMapPath = "badModulemap_12LiblHW3D_FTK.bmap"
+FTKDet.ATLAS_BadModuleMapPath = "badModulemap_12LinlHW3D_ATLAS.bmap"
+FTKDet.dumpAllModules = True
+
+from PyJobTransforms.trfUtils import findFile
+
+pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12LiblHW.pmap')
+FTKDet.pmap_path = pmap_path
+rmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12Libl64TmodB.tmap')
+FTKDet.rmap_path = rmap_path
+ToolSvc += FTKDet
+
+FTKDumpCond = FTKDumpCondAlgo( "FTKDumpCondAlgo" , OutputLevel=INFO)
+FTKDumpCond.IBLMode = 1
+FTKDumpCond.DumpBadModules = True
+FTKDumpCond.DumpGlobalToLocalMap = True
+FTKDumpCond.DumpModulePositions = True
+theJob += FTKDumpCond  
+
+print theJob
+
+
+
+
diff --git a/Trigger/TrigFTK/TrigFTK_RawDataAlgs/share/FTK8layer_example.py b/Trigger/TrigFTK/TrigFTK_RawDataAlgs/share/FTK8layer_example.py
new file mode 100644
index 00000000000..aa1ba6a21dc
--- /dev/null
+++ b/Trigger/TrigFTK/TrigFTK_RawDataAlgs/share/FTK8layer_example.py
@@ -0,0 +1,40 @@
+# JobTransform: RAWtoESD
+
+from PyJobTransforms.trfJobOptions import RunArguments
+runArgs = RunArguments()
+runArgs.trfSubstepName = 'RAWtoESD' 
+
+runArgs.postcommand = ['include("TriggerRelease/dbmod_BFieldAutoConfig.py")']
+runArgs.writeBS = False
+runArgs.beamType = 'collisions'
+#runArgs.AMITag = 'r10188'
+runArgs.runNumber = 341615
+runArgs.autoConfiguration = ['everything']
+runArgs.skipEvents = 6
+runArgs.maxEvents = 2
+runArgs.conditionsTag = 'CONDBR2-BLKPA-2017-12'
+runArgs.geometryVersion = 'ATLAS-R2-2016-01-00-01'
+runArgs.postExec = ['topSequence.FTK_RDO_ReaderAlgo.GetTracks=False;topSequence.FTK_RDO_ReaderAlgo.GetOfflineVertex_Offline=False;topSequence.FTK_RDO_ReaderAlgo.GetRefitTracks=False;topSequence.FTK_RDO_ReaderAlgo.GetTrackParticles=False;topSequence.FTK_RDO_ReaderAlgo.GetRefitTrackParticles=False;topSequence.FTK_RDO_ReaderAlgo.GetVertex=False;topSequence.FTK_RDO_ReaderAlgo.GetRefitVertex=False;from TrigFTK_RawDataAlgs.TrigFTK_RawDataAlgsConf import FTK_RDO_MonitorAlgo;FTK_RDO_Monitor = FTK_RDO_MonitorAlgo( "FTK_RDO_MonitorAlgo");FTK_RDO_Monitor.RDO_CollectionName="FTK_RDO_Tracks";FTK_RDO_Monitor.offlineTracksName="Tracks";FTK_RDO_Monitor.FTK_DataProvider=theFTK_DataProviderSvc;alg+= FTK_RDO_Monitor;topSequence.FTK_RDO_MonitorAlgo.GetHashFromTrack=False;topSequence.FTK_RDO_MonitorAlgo.GetHashFromConstants=True;topSequence.FTK_RDO_MonitorAlgo.Nlayers=8;topSequence.FTK_RDO_MonitorAlgo.PatternsVersion=\"DataAlignment_xm05_ym05_Reb64_v2\";topSequence.FTK_RDO_MonitorAlgo.TowerID=40;topSequence.FTK_RDO_MonitorAlgo.OutputLevel=VERBOSE'] # set TowerID here
+
+#FTK_RDO_Monitor.mineta=-0.1;FTK_RDO_Monitor.maxeta=1.6;FTK_RDO_Monitor.minphi=2.3;FTK_RDO_Monitor.maxphi=2.9;
+
+
+runArgs.preExec = ['rec.doWriteAOD=False;rec.doWriteESD=False;rec.doTrigger=False;rec.doFTK=True;rec.doCalo=False;rec.doInDet=True;rec.doMuon=False;rec.doJetMissingETTag=False;rec.doEgamma=False;rec.doMuonCombined=False;rec.doTau=False;from TrigFTKByteStream.TrigFTKByteStreamConf import FTK__TrigFTKByteStreamTool as TrigFTKByteStreamTool;ftkbstool=TrigFTKByteStreamTool("FTK::TrigFTKByteStreamTool");ftkbstool.FTKAuxDataFormat=True;ToolSvc+=ftkbstool']
+
+# Input data
+runArgs.inputBSFile = ['data17_5TeV.00341184.physics_Main.merge.DRAW_ZMUMU.f903_m1831._0001.1']
+runArgs.inputBSFileType = 'BS'
+
+#runArgs.inputBSFileNentries = 240
+runArgs.BSFileIO = 'input'
+
+# Output data
+#runArgs.outputESDFile = 'ESD.root'
+#runArgs.outputESDFileType = 'ESD'
+#runArgs.outputHIST_ESD_INTFile = 'tmp.HIST_ESD_INT'
+#runArgs.outputHIST_ESD_INTFileType = 'hist_esd_int'
+
+include("RecJobTransforms/skeleton.RAWtoESD_tf.py")
+
+from GaudiSvc.GaudiSvcConf import THistSvc
+svcMgr += THistSvc(Output = ["TRACKS DATAFILE='ftk.root', OPT='RECREATE'"])
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoAlg.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoAlg.h
new file mode 100755
index 00000000000..40f01101f0f
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoAlg.h
@@ -0,0 +1,60 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGMUFASTHYPO_TRIGMUFASTHYPOALG_H 
+#define TRIGMUFASTHYPO_TRIGMUFASTHYPOALG_H 1 
+
+#include <string>
+
+#include "AthenaBaseComps/AthReentrantAlgorithm.h" 
+#include "AthViews/View.h"
+#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "DecisionHandling/TrigCompositeUtils.h"
+
+#include "TrigMuonHypo/TrigMufastHypoTool.h"
+
+class StoreGateSvc;
+class TriggerElement;
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+class TrigMufastHypoAlg
+   : public ::AthReentrantAlgorithm
+{
+  public:
+
+   TrigMufastHypoAlg( const std::string& name, ISvcLocator* pSvcLocator );   
+
+   virtual ~TrigMufastHypoAlg();
+
+   virtual StatusCode  initialize() override;
+   virtual StatusCode  execute_r( const EventContext& context ) const override;
+   virtual StatusCode  finalize() override;
+    
+  private:
+ 
+    TrigMufastHypoAlg(); 
+    ToolHandleArray<TrigMufastHypoTool> m_hypoTools {this, "HypoTools", {}, "Tools to perform selection"}; 
+
+    SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> m_decisionsKey{
+	this, "Decisions", "L2MuonFastDecisions", "Name of the decisions object attached by TrigMufastHypo"};
+
+    SG::ReadHandleKey<std::vector< SG::View*>> m_viewsKey{
+	this, "ViewRoIs", "MUViewRoIs", "Name of the input data on Views produced by EventCreatorAlgorithms"};
+
+    SG::ReadHandleKey<xAOD::L2StandAloneMuonContainer> m_muFastKey{
+	this, "MuonL2SAInfoFromMuFastAlg", "MuonL2SAInfo", "Name of the input data on xAOD::L2StandAloneMuonContainer produced by MuFastSteering"};
+
+    SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiKey{
+	this, "RoIs", "MURoIs", "Name of the input data from L1Decoder"};
+
+    SG::ReadHandleKey<TrigCompositeUtils::DecisionContainer> m_previousDecisionsKey{
+	this, "L1Decisions", "", "Name of the input decisions object produced by MuFastSteering"};
+};
+
+DECLARE_ALGORITHM_FACTORY( TrigMufastHypoAlg )
+#endif
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoTool.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoTool.h
new file mode 100755
index 00000000000..1aa64ca4cc9
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMufastHypoTool.h
@@ -0,0 +1,87 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGMUFASTHYPO_TRIGMUFASTHYPOTOOL_H 
+#define TRIGMUFASTHYPO_TRIGMUFASTHYPOTOOL_H 1
+
+#include <string>
+#include "AthenaBaseComps/AthAlgTool.h" 
+#include "DecisionHandling/HLTIdentifier.h"
+#include "CLHEP/Units/SystemOfUnits.h"
+
+#include "xAODTrigMuon/L2StandAloneMuonContainer.h"
+#include "TrigSteeringEvent/TrigRoiDescriptor.h" 
+#include "DecisionHandling/TrigCompositeUtils.h" 
+#include "AthenaMonitoring/GenericMonitoringTool.h"
+
+class StoreGateSvc;
+class TriggerElement;
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+namespace TrigMufastHypoToolConsts {
+enum ECRegions{ Bulk, WeakBFieldA, WeakBFieldB };
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+class TrigMufastHypoTool: public ::AthAlgTool {	
+  enum { MaxNumberTools = 20 }; 
+  public:
+
+    TrigMufastHypoTool(const std::string& type, 
+		       const std::string & name,
+		       const IInterface* parent );
+
+    virtual ~TrigMufastHypoTool();
+
+    struct MuonClusterInfo {
+    MuonClusterInfo( TrigCompositeUtils::Decision* d, const TrigRoiDescriptor* r, const xAOD::L2StandAloneMuon* c,
+  		     const TrigCompositeUtils::Decision* previousDecision )
+    : decision( d ), 
+      roi( r ),
+      cluster( c ),
+      previousDecisionIDs(TrigCompositeUtils::decisionIDs( previousDecision ).begin(), 
+			  TrigCompositeUtils::decisionIDs( previousDecision ).end() )
+      {}
+      
+      TrigCompositeUtils::Decision* decision;
+      const TrigRoiDescriptor* roi;
+      const xAOD::L2StandAloneMuon* cluster;
+      const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs;
+    };
+
+    virtual StatusCode initialize() override;    
+
+    virtual StatusCode decide(std::vector<TrigMufastHypoTool::MuonClusterInfo>& toolInput) const;
+    virtual StatusCode decide(TrigMufastHypoTool::MuonClusterInfo& input) const;
+    
+  private:
+
+    HLT::Identifier m_decisionId;
+    
+    float getLocalPhi(float, float, float) const;
+    TrigMufastHypoToolConsts::ECRegions whichECRegion(const float eta, const float phi) const;
+    
+    // Properties:
+    std::vector<float> m_ptBins;
+    std::vector<float> m_ptThresholds;
+    BooleanProperty m_acceptAll;
+    BooleanProperty m_selectPV;
+    float m_ZPV;
+    float m_RPV;
+    
+    float m_ptThresholdForECWeakBRegionA;
+    float m_ptThresholdForECWeakBRegionB;
+
+    // Other members:   
+    std::vector<float>::size_type m_bins;
+
+    ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };   
+};
+
+DECLARE_TOOL_FACTORY( TrigMufastHypoTool )
+#endif
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoAlg.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoAlg.h
new file mode 100755
index 00000000000..b44551aeae5
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoAlg.h
@@ -0,0 +1,60 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGMUONEFMSONLYHYPO_TRIGMUONEFMSONLYHYPOALG_H 
+#define TRIGMUONEFMSONLYHYPO_TRIGMUONEFMSONLYHYPOALG_H 1 
+
+#include <string>
+
+#include "AthenaBaseComps/AthReentrantAlgorithm.h" 
+#include "AthViews/View.h"
+#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "DecisionHandling/TrigCompositeUtils.h"
+
+#include "TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h"
+
+class StoreGateSvc;
+class TriggerElement;
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+class TrigMuonEFMSonlyHypoAlg
+   : public ::AthReentrantAlgorithm
+{
+  public:
+
+   TrigMuonEFMSonlyHypoAlg( const std::string& name, ISvcLocator* pSvcLocator );   
+
+   virtual ~TrigMuonEFMSonlyHypoAlg();
+
+   virtual StatusCode  initialize() override;
+   virtual StatusCode  execute_r( const EventContext& context ) const override;
+   virtual StatusCode  finalize() override;
+    
+  private:
+ 
+    TrigMuonEFMSonlyHypoAlg(); 
+    ToolHandleArray<TrigMuonEFMSonlyHypoTool> m_hypoTools {this, "HypoTools", {}, "Tools to perform selection"}; 
+
+    SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> m_decisionsKey{
+	this, "Decisions", "MuonEFMSonlyHypo_Decisions", "Name of the decisions object attached by TrigMuonEFMSonlyHypo"};
+
+    SG::ReadHandleKey<std::vector< SG::View*>> m_viewsKey{
+	this, "ViewRoIs", "MUViewRoIs", "Name of the input data on Views produced by EventCreatorAlgorithms"};
+
+    SG::ReadHandleKey<xAOD::MuonContainer> m_muonKey{
+	this, "MuonDecisions", "MuonEFMSonly_MuonData", "Name of the input data on xAOD::MuonContainer produced by MuonCreatorAlg"};
+
+    SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiKey{
+	this, "RoIs", "MURoIs", "Name of the input data from L1Decoder"};
+
+    SG::ReadHandleKey<TrigCompositeUtils::DecisionContainer> m_previousDecisionsKey{
+	this, "L1Decisions", "MuonEFMSonly_Decisions", "Name of the input decisions object"};
+};
+
+DECLARE_ALGORITHM_FACTORY( TrigMuonEFMSonlyHypoAlg )
+#endif
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h
new file mode 100644
index 00000000000..eea0d889edf
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h
@@ -0,0 +1,61 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGMUONEFMSONLYHYPO_TRIGMUONEFMSONLYHYPOTOOL_H 
+#define TRIGMUONEFMSONLYHYPO_TRIGMUONEFMSONLYHYPOTOOL_H 1
+
+#include <string>
+#include "AthenaBaseComps/AthAlgTool.h" 
+#include "DecisionHandling/HLTIdentifier.h"
+#include "DecisionHandling/TrigCompositeUtils.h" 
+#include "AthenaMonitoring/GenericMonitoringTool.h"
+#include "TrigSteeringEvent/TrigRoiDescriptor.h" 
+#include "xAODMuon/MuonContainer.h"
+
+class StoreGateSvc;
+class TriggerElement;
+
+class TrigMuonEFMSonlyHypoTool: public ::AthAlgTool {
+  enum { MaxNumberTools = 20 };  
+ public:
+  TrigMuonEFMSonlyHypoTool(const std::string& type, const std::string & name, const IInterface* parent);
+  ~TrigMuonEFMSonlyHypoTool();
+ 
+  struct MuonEFInfo {
+  MuonEFInfo( TrigCompositeUtils::Decision* d, const TrigRoiDescriptor* r, const xAOD::MuonContainer* m,
+	      const TrigCompositeUtils::Decision* previousDecision )
+  : decision( d ), 
+      roi( r ),
+      muons( m ),
+      previousDecisionIDs(TrigCompositeUtils::decisionIDs( previousDecision ).begin(), 
+			  TrigCompositeUtils::decisionIDs( previousDecision ).end() )
+    {}
+      
+    TrigCompositeUtils::Decision* decision;
+    const TrigRoiDescriptor* roi;
+    const xAOD::MuonContainer* muons;
+    const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs;
+  };
+
+  StatusCode initialize() override;    
+  StatusCode decide(std::vector<TrigMuonEFMSonlyHypoTool::MuonEFInfo>& toolInput) const ;
+  StatusCode decide(TrigMuonEFMSonlyHypoTool::MuonEFInfo& input) const;
+
+ private:
+
+  HLT::Identifier m_decisionId;
+
+  // Properties:
+  std::vector<float> m_ptBins;
+  std::vector<float> m_ptThresholds; 
+  BooleanProperty m_acceptAll;
+
+  // Other members:   
+  std::vector<float>::size_type m_bins;
+
+  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
+};
+
+DECLARE_TOOL_FACTORY(TrigMuonEFMSonlyHypoTool)
+#endif
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoAlg.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoAlg.h
new file mode 100644
index 00000000000..bbc027928bd
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoAlg.h
@@ -0,0 +1,58 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGMUCOMBHYPO_TRIGMUCOMBHYPOALG_H 
+#define TRIGMUCOMBHYPO_TRIGMUCOMBHYPOALG_H 1 
+
+#include <string>
+
+#include "AthenaBaseComps/AthReentrantAlgorithm.h" 
+#include "StoreGate/ReadHandleKey.h"
+#include "StoreGate/WriteHandleKey.h"
+
+#include "xAODTrigMuon/L2CombinedMuonContainer.h"
+#include "DecisionHandling/TrigCompositeUtils.h"
+#include "AthViews/View.h"
+
+#include "TrigMuonHypo/TrigmuCombHypoTool.h"
+
+class StoreGateSvc;
+class TriggerElement;
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+class TrigmuCombHypoAlg
+   : public ::AthReentrantAlgorithm
+{
+  public:
+
+   TrigmuCombHypoAlg( const std::string& name, ISvcLocator* pSvcLocator );   
+
+   virtual ~TrigmuCombHypoAlg();
+
+   virtual StatusCode  initialize() override;
+   virtual StatusCode  execute_r( const EventContext& context ) const override;
+   virtual StatusCode  finalize() override;
+    
+  private:
+ 
+    TrigmuCombHypoAlg(); 
+    ToolHandleArray<TrigmuCombHypoTool> m_hypoTools {this, "HypoTools", {}, "Tools to perform selection"}; 
+
+    SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> m_decisionsKey{
+	this, "Decisions", "MuonL2CBDecisions", "Name of the decision objects produced by TrigmuCombHypo"};
+
+    SG::ReadHandleKey<TrigCompositeUtils::DecisionContainer> m_muonDecisionsKey{
+	this, "L2MuonFastDecisions", "L2MuonFastDecisions", "Name of the decisions objects to input from TrigMufastHypo"};
+
+    SG::ReadHandleKey<std::vector< SG::View*>> m_viewsKey{
+	this, "ViewRoIs", "MUTrkViewRoIs", "Name of the views produced by EVCA"};
+
+    SG::ReadHandleKey<xAOD::L2CombinedMuonContainer> m_combinedKey{
+	this, "MuonL2CBInfoFromMuCombAlg", "MuonL2CBInfo", "Name of the input data produced by muCombMT"};
+};
+
+DECLARE_ALGORITHM_FACTORY( TrigmuCombHypoAlg )
+#endif
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoTool.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoTool.h
new file mode 100644
index 00000000000..ddfadbbe1f6
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigmuCombHypoTool.h
@@ -0,0 +1,82 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGMUCOMBHYPO_TRIGMUCOMBHYPOTOOL_H 
+#define TRIGMUCOMBHYPO_TRIGMUCOMBHYPOTOOL_H 1
+
+#include <string>
+#include "AthenaBaseComps/AthAlgTool.h" 
+#include "DecisionHandling/HLTIdentifier.h"
+#include "CLHEP/Units/SystemOfUnits.h"
+
+#include "xAODTrigMuon/L2CombinedMuonContainer.h"
+#include "xAODTrigMuon/versions/L2CombinedMuonContainer_v1.h"
+#include "xAODTrigMuon/L2CombinedMuon.h" 
+
+#include "DecisionHandling/TrigCompositeUtils.h" 
+
+#include "AthenaMonitoring/GenericMonitoringTool.h"
+
+class StoreGateSvc;
+class TriggerElement;
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+namespace TrigmuCombHypoToolConsts {
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+class TrigmuCombHypoTool: public ::AthAlgTool {	
+  enum { MaxNumberTools = 20 }; 
+  public:
+
+    TrigmuCombHypoTool(const std::string& type, 
+		       const std::string & name,
+		       const IInterface* parent );
+
+    struct CombinedMuonInfo {
+      TrigCompositeUtils::Decision* decision; 
+      const xAOD::L2CombinedMuon* cluster;
+      const xAOD::L2StandAloneMuon* muon;
+      const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs;
+    };
+
+    virtual ~TrigmuCombHypoTool();
+
+    virtual StatusCode initialize() override;    
+    
+    virtual StatusCode decide(TrigmuCombHypoTool::CombinedMuonInfo& input) const;
+
+    virtual StatusCode decide(std::vector<TrigmuCombHypoTool::CombinedMuonInfo>& hypoToolInput) const;
+    
+  private:
+
+    HLT::Identifier m_decisionId;
+    
+    ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };   
+
+    // Properties:
+    std::vector<float> m_ptBins;
+    std::vector<float> m_ptThresholds;
+   
+    BooleanProperty m_acceptAll;
+   
+    // pi/K rejections flags
+    BooleanProperty m_pikCuts;
+    DoubleProperty  m_maxPtToApplyPik;
+    DoubleProperty  m_chi2MaxID;
+   
+    // Apply strategy dependent pT cuts (B/T/S = 0 fields, L1 seeded, ...)
+    BooleanProperty     m_strategydependent;
+    DoubleArrayProperty m_strategyDependentPtCuts;
+   
+    // Other members:   
+    std::vector<float>::size_type m_bins;
+};
+
+DECLARE_TOOL_FACTORY( TrigmuCombHypoTool )
+#endif
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoAlg.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoAlg.cxx
new file mode 100755
index 00000000000..d6b66bcba51
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoAlg.cxx
@@ -0,0 +1,167 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <math.h>
+
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/StatusCode.h"
+
+#include "xAODTrigMuon/L2StandAloneMuonContainer.h"
+#include "TrigMuonHypo/TrigMufastHypoAlg.h"
+
+using namespace TrigCompositeUtils; 
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+TrigMufastHypoAlg::TrigMufastHypoAlg( const std::string& name,
+				      ISvcLocator* pSvcLocator ) :
+  ::AthReentrantAlgorithm( name, pSvcLocator )
+{
+
+} 
+
+TrigMufastHypoAlg::~TrigMufastHypoAlg() 
+{}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMufastHypoAlg::initialize()
+{
+  ATH_MSG_INFO ( "Initializing " << name() << "..." );
+  ATH_CHECK(m_hypoTools.retrieve());
+
+  ATH_CHECK(m_viewsKey.initialize());
+
+  renounce(m_muFastKey);
+  ATH_CHECK(m_muFastKey.initialize());
+
+  renounce(m_roiKey);
+  ATH_CHECK(m_roiKey.initialize());
+
+  ATH_CHECK(m_decisionsKey.initialize());
+
+  ATH_CHECK(m_previousDecisionsKey.initialize());
+ 
+  ATH_MSG_INFO( "Initialization completed successfully" );
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMufastHypoAlg::finalize() 
+{   
+  ATH_MSG_INFO( "Finalizing " << name() << "..." );
+  ATH_MSG_INFO( "Finalization completed successfully" );
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMufastHypoAlg::execute_r( const EventContext& context ) const
+{
+
+  ATH_MSG_DEBUG("StatusCode TrigMufastHypoAlg::execute_r start");
+
+  auto viewsHandle = SG::makeHandle( m_viewsKey, context );
+
+  std::map<const TrigRoiDescriptor*, const TrigCompositeUtils::Decision* > roiToDecision;
+  auto previousDecisionsHandle = SG::makeHandle( m_previousDecisionsKey, context );
+  for ( auto previousDecision: *previousDecisionsHandle ) { 
+    auto roiEL = previousDecision->objectLink<TrigRoiDescriptorCollection>( "initialRoI" );
+    if (!roiEL.isValid()) {
+      ATH_MSG_ERROR("ReadHandle for std::vector<SG::View*> key:" << m_viewsKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    }
+    const TrigRoiDescriptor* roi = *roiEL;
+    roiToDecision.insert( std::make_pair( roi, previousDecision ) );
+  }   
+  ATH_MSG_DEBUG("REGTEST: RoI to decisions map size: " << roiToDecision.size() );
+
+  auto decisions = std::make_unique<DecisionContainer>();
+  auto aux = std::make_unique<DecisionAuxContainer>();
+  decisions->setStore(aux.get());
+
+  size_t counter = 0;	// view counter
+  std::vector<TrigMufastHypoTool::MuonClusterInfo> toolInput;
+  for (auto view: *viewsHandle) {
+    auto d = newDecisionIn( decisions.get() );
+
+    // retrieve MuFastDecisions with ReadHandle
+    auto muFastHandle = SG::makeHandle( m_muFastKey, context );
+    if (muFastHandle.setProxyDict(view).isFailure()) {
+      ATH_MSG_ERROR("ReadHandle for xAOD::L2StandAloneMuonContainer key:" << m_muFastKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    } 
+    const xAOD::L2StandAloneMuon* fast = muFastHandle.cptr()->at(0);
+ 
+    // retrieve MuFastDecisions with ReadHandle
+    auto roiHandle = SG::makeHandle( m_roiKey, context );
+    if (roiHandle.setProxyDict(view).isFailure()) {
+      ATH_MSG_ERROR("ReadHandle for TrigRoiDescriptor key:" << m_roiKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    } 
+    const TrigRoiDescriptor* roi = roiHandle.cptr()->at(0);
+
+    // push_back to toolInput
+    toolInput.emplace_back( d, roi, fast, roiToDecision[roi] );
+
+    { // retrieve MUViewRoIs
+      auto element = ElementLink< std::vector<SG::View*> >( m_viewsKey.key(), counter );
+      if(!element.isValid()) {
+        ATH_MSG_ERROR("ReadHandle for std::vector<SG::View*> key:" << m_viewsKey.key() << " isn't Valid");
+        return StatusCode::FAILURE;
+      } else {
+        d->setObjectLink( "view", element );
+        ATH_MSG_DEBUG("REGTEST: " << m_viewsKey.key() << " = " << (*element));
+      }
+    }
+    { // retrieve MURoIs
+      auto element = ElementLink<TrigRoiDescriptorCollection>( view->name()+"_"+m_roiKey.key(), 0 ); 
+      if(!element.isValid()) {
+        ATH_MSG_ERROR("ReadHandle for TrigRoiDescriptorCollection key:" << m_roiKey.key() << " isn't Valid");
+        return StatusCode::FAILURE;
+      } else {
+        d->setObjectLink( "roi", element );
+        ATH_MSG_DEBUG("REGTEST: " << m_roiKey.key() << " eta/phi = " << (*element)->eta() << "/" << (*element)->phi());
+      }
+    }
+    { // retrieve xAOD::MuonFastDecision 
+      auto element = ElementLink<xAOD::L2StandAloneMuonContainer>( view->name()+"_"+m_muFastKey.key(), 0 ); 
+      if(!element.isValid()) {
+        ATH_MSG_ERROR("ReadHandle for xAOD::L2StandAloneMuonContainer key:" << m_muFastKey.key() << " isn't Valid");
+        return StatusCode::FAILURE;
+      } else {
+        d->setObjectLink( "feature", element );
+        ATH_MSG_DEBUG("REGTEST: " << m_muFastKey.key() << " pT = " << (*element)->pt() << " GeV");
+        ATH_MSG_DEBUG("REGTEST: " << m_muFastKey.key() << " eta/phi = " << (*element)->eta() << "/" << (*element)->phi());
+      }
+    }
+    counter++;
+  } // End of view loops */
+
+  // to TrigMufastHypoTool
+  StatusCode sc = StatusCode::SUCCESS;
+  for ( auto& tool: m_hypoTools ) {
+    ATH_MSG_DEBUG("Go to " << tool );
+    sc = tool->decide(toolInput);
+    if (!sc.isSuccess()) {
+      ATH_MSG_ERROR("MuonHypoTool is failed");
+      return StatusCode::FAILURE;
+    }
+  } // End of tool algorithms */	
+
+  auto handle =  SG::makeHandle(m_decisionsKey, context);     
+  ATH_CHECK( handle.record( std::move(decisions), std::move(aux) ) );
+
+  ATH_MSG_DEBUG("StatusCode TrigMufastHypoAlg::execute_r success");
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoTool.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoTool.cxx
new file mode 100755
index 00000000000..191ab3fb1f4
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMufastHypoTool.cxx
@@ -0,0 +1,275 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <math.h>
+#include <algorithm>
+
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/StatusCode.h"
+#include "AthenaMonitoring/MonitoredScope.h"
+
+#include "xAODTrigMuon/L2StandAloneMuonContainer.h"
+#include "DecisionHandling/TrigCompositeUtils.h"
+#include "TrigMuonHypo/TrigMufastHypoTool.h"
+
+using namespace TrigCompositeUtils;
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+TrigMufastHypoTool::TrigMufastHypoTool(const std::string& type, 
+				       const std::string & name,
+				       const IInterface* parent )
+   : AthAlgTool( type, name, parent ),
+     m_decisionId( HLT::Identifier::fromToolName( name ) ) 
+{
+   std::vector<float> defBins;
+   defBins.push_back(0);
+   defBins.push_back(2.5); 
+   std::vector<float> defThrs;
+   defThrs.push_back(5.49*CLHEP::GeV);
+
+   declareProperty("PtBins",       m_ptBins=defBins);
+   declareProperty("PtThresholds", m_ptThresholds=defThrs);
+   declareProperty("AcceptAll",    m_acceptAll=false);
+   declareProperty("SelectPV",     m_selectPV=false);
+   declareProperty("ZPVBins",    m_ZPV=400.);
+   declareProperty("RPVBins",    m_RPV=200.);
+
+   declareProperty("PtThresholdForECWeakBRegionA", m_ptThresholdForECWeakBRegionA=3.);
+   declareProperty("PtThresholdForECWeakBRegionB", m_ptThresholdForECWeakBRegionB=3.);
+
+   m_bins = 0;
+}
+
+TrigMufastHypoTool::~TrigMufastHypoTool(){
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMufastHypoTool::initialize()
+{
+  ATH_MSG_DEBUG("Initializing " << name() << " - package version " << PACKAGE_VERSION);
+
+  if(m_acceptAll) {
+     ATH_MSG_DEBUG("Accepting all the events with not cut!");
+  }
+  else {
+     m_bins = m_ptBins.size() - 1;
+     if (m_bins != m_ptThresholds.size()) {
+	ATH_MSG_DEBUG("bad thresholds setup .... exiting!");
+	return StatusCode::SUCCESS;
+     }
+
+      for (std::vector<float>::size_type i=0; i<m_bins;++i) {
+	 char buf1[256];
+	 char buf2[256];
+	 sprintf(buf1,"%f5.2",m_ptBins[i]);
+	 sprintf(buf2,"%f5.2",m_ptBins[i+1]);
+	 ATH_MSG_DEBUG("EtaBin " << buf1 << " - " <<  buf2
+	              << ": with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV 
+	              << " GeV");
+      }
+      
+      ATH_MSG_DEBUG("Endcap WeakBField A: pT threshold of " << m_ptThresholdForECWeakBRegionA / CLHEP::GeV << " GeV");
+      ATH_MSG_DEBUG("Endcap WeakBField B: pT threshold of " << m_ptThresholdForECWeakBRegionB / CLHEP::GeV << " GeV");
+  }
+
+  ATH_MSG_DEBUG( "Tool configured for chain/id: " << m_decisionId );
+
+  if ( not m_monTool.name().empty() ) {
+     ATH_CHECK( m_monTool.retrieve() );
+     ATH_MSG_DEBUG("MonTool name: " << m_monTool);
+  }
+
+  ATH_MSG_DEBUG("Initialization completed successfully");
+
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMufastHypoTool::decide(TrigMufastHypoTool::MuonClusterInfo& input) const
+{
+   using namespace Monitored;
+
+   auto fexPt 		= MonitoredScalar::declare("Pt", -9999.);
+   auto fexEta 		= MonitoredScalar::declare("Eta", -9999.);
+   auto fexPhi 		= MonitoredScalar::declare("Phi", -9999.);
+   auto xatStation	= MonitoredScalar::declare("XatSt", -9999.);
+   auto yatStation	= MonitoredScalar::declare("YatSt", -9999.);
+   auto zatStation	= MonitoredScalar::declare("ZatSt", -9999.);
+   auto xatBeam		= MonitoredScalar::declare("XatBe", -9999.);
+   auto zatBeam		= MonitoredScalar::declare("ZatBe", -9999.);
+
+   auto monitorIt	= MonitoredScope::declare(m_monTool, fexPt, fexEta, fexPhi, 
+   					          xatStation, yatStation, zatStation, 
+					          xatBeam, zatBeam);
+
+   bool result = false;
+   // if accept All flag is on, just pass it
+   if(m_acceptAll) {
+      result = true;
+      ATH_MSG_DEBUG("Accept property is set: taking all the events");
+      return StatusCode(result);
+   } else {
+      result = false;
+      ATH_MSG_DEBUG("Accept property not set: applying selection!");
+   }
+
+   // Get xAOD::L2StandAloneMuon:
+   auto pMuon = input.cluster;
+ 
+   if(!pMuon){
+      ATH_MSG_ERROR("Retrieval of L2StandAloneMuon from vector failed");
+      return StatusCode::FAILURE;
+   }
+
+   // fill Monitoring histos
+   fexPt  = (pMuon->pt())?  pMuon->pt()  : -9999.;
+   fexEta = (pMuon->etaMS())? pMuon->etaMS() : -9999.;
+   fexPhi = (pMuon->etaMS())? pMuon->phiMS() : -9999.;
+
+   if( pMuon->etaMS() ) {
+      float localPhi = getLocalPhi(pMuon->etaMS(),pMuon->phiMS(),pMuon->rMS());
+      float radius = pMuon->rMS()/cos(fabs(localPhi));
+      float DirZ = (pMuon->dirZMS())? pMuon->dirZMS() : .000001;
+      float DirF = (pMuon->dirPhiMS())?  pMuon->dirPhiMS()  : .000001;
+      xatStation = radius * cos(pMuon->phiMS());
+      yatStation = radius * sin(pMuon->phiMS());
+      zatStation = pMuon->zMS();
+      float xb = xatStation - yatStation/DirF;
+      float de = xatStation - xb;
+      float ds = sqrt(yatStation*yatStation+de*de);
+      xatBeam = xb;
+      zatBeam = zatStation - ds*DirZ;
+   } else {
+      xatStation = -9999.;
+      yatStation = -9999.;
+      zatStation = -9999.;
+      xatBeam = -9999.;
+      zatBeam = -9999.;
+   }
+
+   //Get the Pt cut for that eta bin
+   float threshold = 0;
+   float absEta = fabs(fexEta);
+   for (std::vector<float>::size_type i=0; i<m_bins; ++i)
+      if ( absEta > m_ptBins[i] && absEta < m_ptBins[i+1] ) threshold = m_ptThresholds[i]; 
+
+   // if in the weak Bfield regions at endcap, set special threshold
+   TrigMufastHypoToolConsts::ECRegions ecRegion = whichECRegion( fexEta, fexPhi );
+   if( ecRegion == TrigMufastHypoToolConsts::WeakBFieldA ) {
+      ATH_MSG_DEBUG("threshold is set for EC WeakBField A");
+      threshold = m_ptThresholdForECWeakBRegionA;
+   }
+   if( ecRegion == TrigMufastHypoToolConsts::WeakBFieldB ) {
+      ATH_MSG_DEBUG("threshold is set for EC WeakBField B");
+      threshold = m_ptThresholdForECWeakBRegionB;
+   }
+
+   ATH_MSG_DEBUG("threshold value is set as: " << threshold/CLHEP::GeV << " GeV");
+
+   // Check pt threshold for hypothesis, 
+   // convert units since Muonfeature is in GeV
+   if ( std::abs(pMuon->pt()) > (threshold/CLHEP::GeV)){
+      // selects only tracks coming from a region around PV
+      if( m_selectPV ){
+	 if((fabs(xatBeam)<m_RPV) && (fabs(zatBeam)<m_ZPV))
+	    result = true;
+      } else {
+	 result = true;
+      }
+   }
+
+   ATH_MSG_DEBUG("REGTEST muon pt is " << pMuon->pt() << " GeV" 
+                 << " and threshold cut is " << threshold/CLHEP::GeV << " GeV" 
+                 << " so hypothesis is " << (result?"true":"false"));
+  
+   return StatusCode(result);
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+TrigMufastHypoToolConsts::ECRegions TrigMufastHypoTool::whichECRegion( const float eta, const float phi ) const
+{
+   float absEta = fabs(eta);
+
+   if(      ( 1.3 <= absEta && absEta < 1.45) &&
+            ( (0                 <= fabs(phi) && fabs(phi) < CLHEP::pi/48. )     ||
+	      (CLHEP::pi*11./48. <= fabs(phi) && fabs(phi) < CLHEP::pi*13./48. ) ||
+	      (CLHEP::pi*23./48. <= fabs(phi) && fabs(phi) < CLHEP::pi*25./48. ) ||
+	      (CLHEP::pi*35./48. <= fabs(phi) && fabs(phi) < CLHEP::pi*37./48. ) ||
+	      (CLHEP::pi*47./48. <= fabs(phi) && fabs(phi) < CLHEP::pi )
+	  )
+      ) return TrigMufastHypoToolConsts::WeakBFieldA;
+   
+   else if( ( 1.5 <= absEta && absEta < 1.65 ) &&
+	    ( (CLHEP::pi*3./32.  <= fabs(phi) && fabs(phi) < CLHEP::pi*5./32. ) ||
+	      (CLHEP::pi*11./32. <= fabs(phi) && fabs(phi) < CLHEP::pi*13./32.) ||
+	      (CLHEP::pi*19./32. <= fabs(phi) && fabs(phi) < CLHEP::pi*21./32.) ||
+	      (CLHEP::pi*27./32. <= fabs(phi) && fabs(phi) < CLHEP::pi*29./32.)
+	       )
+      ) return TrigMufastHypoToolConsts::WeakBFieldB;
+   
+   else return TrigMufastHypoToolConsts::Bulk;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+float TrigMufastHypoTool::getLocalPhi(float eta, float phi, float rad) const
+{
+   if(phi<0.) phi += 2*3.14159265;
+   float step = 0.78539816;
+   float offs = 0.39269908;
+   if(fabs(eta) <= 1.1)
+   {
+      float Dphi = 999999.;
+      float sign = 0.;
+      const float ZEROLIMIT = 1e-6;
+      if(rad < 800.)
+      {
+         for(int i=0;i<8;++i) if(fabs(i*step-phi)<=Dphi)
+	 { 
+	    Dphi=fabs(i*step-phi);
+	    sign = (fabs(Dphi) > ZEROLIMIT) ? (i*step-phi)/fabs(i*step-phi) : 0;
+	 }
+	 return sign*Dphi;
+      }else
+      {
+         for(int i=1;i<8;++i) if(fabs(i*step+offs-phi)<=Dphi)
+	 { 
+	    Dphi=fabs(i*step+offs-phi);
+	    sign = (fabs(Dphi) > ZEROLIMIT) ? (i*step+offs-phi)/fabs(i*step+offs-phi) : 0;
+	 }     
+	 return sign*Dphi;
+      }
+   }else
+   {
+      return 0.;
+   }
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMufastHypoTool::decide(std::vector<MuonClusterInfo>& toolInput) const {
+
+   ATH_MSG_DEBUG("Applying selection of single << " << m_decisionId.numeric());
+
+   for ( auto& i: toolInput) {
+     if (TrigCompositeUtils::passed(m_decisionId.numeric(), i.previousDecisionIDs)) {
+       if ( decide(i) ) {
+         ATH_MSG_DEBUG("hypothesis is true, so object passed selection");
+         TrigCompositeUtils::addDecisionID(m_decisionId, i.decision);
+       } else {
+         ATH_MSG_DEBUG("hypothesis is false, so no objest passed selection");
+       } // End of TrigMufastHypoTool decide()
+     } 
+   } // End of MuonClusterInfo loops 
+   return StatusCode::SUCCESS;
+}
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoAlg.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoAlg.cxx
new file mode 100755
index 00000000000..fdede05f2d2
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoAlg.cxx
@@ -0,0 +1,163 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <math.h>
+
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/StatusCode.h"
+
+#include "TrigMuonHypo/TrigMuonEFMSonlyHypoAlg.h"
+
+using namespace TrigCompositeUtils; 
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+TrigMuonEFMSonlyHypoAlg::TrigMuonEFMSonlyHypoAlg( const std::string& name,
+						  ISvcLocator* pSvcLocator ) :
+  ::AthReentrantAlgorithm( name, pSvcLocator )
+{
+
+} 
+
+TrigMuonEFMSonlyHypoAlg::~TrigMuonEFMSonlyHypoAlg() 
+{}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMuonEFMSonlyHypoAlg::initialize()
+{
+  ATH_MSG_INFO ( "Initializing " << name() << "..." );
+  ATH_CHECK(m_hypoTools.retrieve());
+
+  ATH_CHECK(m_viewsKey.initialize());
+
+  renounce(m_muonKey);
+  ATH_CHECK(m_muonKey.initialize());
+
+  renounce(m_roiKey);
+  ATH_CHECK(m_roiKey.initialize());
+
+  ATH_CHECK(m_decisionsKey.initialize());
+
+  ATH_CHECK(m_previousDecisionsKey.initialize());
+ 
+  ATH_MSG_INFO( "Initialization completed successfully" );
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMuonEFMSonlyHypoAlg::finalize() 
+{   
+  ATH_MSG_INFO( "Finalizing " << name() << "..." );
+  ATH_MSG_INFO( "Finalization completed successfully" );
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigMuonEFMSonlyHypoAlg::execute_r( const EventContext& context ) const
+{
+
+  ATH_MSG_DEBUG("StatusCode TrigMuonEFMSonlyHypoAlg::execute_r start");
+
+  auto viewsHandle = SG::makeHandle( m_viewsKey, context );
+  std::map<const TrigRoiDescriptor*, const TrigCompositeUtils::Decision* > roiToDecision;
+  auto previousDecisionsHandle = SG::makeHandle( m_previousDecisionsKey, context );
+  for ( auto previousDecision: *previousDecisionsHandle ) { 
+    auto roiEL = previousDecision->objectLink<TrigRoiDescriptorCollection>( "initialRoI" );
+    if (!roiEL.isValid()) {
+      ATH_MSG_ERROR("ReadHandle for std::vector<SG::View*> key:" << m_viewsKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    }
+    const TrigRoiDescriptor* roi = *roiEL;
+    roiToDecision.insert( std::make_pair( roi, previousDecision ) );
+  }
+  ATH_MSG_DEBUG("REGTEST: RoI to decisions map size: " << roiToDecision.size() );
+
+  auto decisions = std::make_unique<DecisionContainer>();
+  auto aux = std::make_unique<DecisionAuxContainer>();
+  decisions->setStore(aux.get());
+  size_t counter = 0;	// view counter
+  std::vector<TrigMuonEFMSonlyHypoTool::MuonEFInfo> toolInput;
+  for (auto view: *viewsHandle) {
+    auto d = newDecisionIn( decisions.get() );
+    // retrieve Muons
+    auto muonHandle = SG::makeHandle( m_muonKey, context );
+    if (muonHandle.setProxyDict(view).isFailure()) {
+      ATH_MSG_ERROR("ReadHandle for xAOD::MuonContainer key:" << m_muonKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    } 
+    const xAOD::MuonContainer* muons = muonHandle.cptr();
+    // retrieve RoIs
+    auto roiHandle = SG::makeHandle( m_roiKey, context );
+    if (roiHandle.setProxyDict(view).isFailure()) {
+      ATH_MSG_ERROR("ReadHandle for TrigRoiDescriptor key:" << m_roiKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    } 
+    const TrigRoiDescriptor* roi = roiHandle.cptr()->at(0);
+    // push_back to toolInput
+    toolInput.emplace_back( d, roi, muons, roiToDecision[roi] );
+
+    // retrieve ViewRoIs
+    auto viewlink = ElementLink< std::vector<SG::View*> >( m_viewsKey.key(), counter );
+    if(!viewlink.isValid()) {
+      ATH_MSG_ERROR("ReadHandle for std::vector<SG::View*> key:" << m_viewsKey.key() << " isn't Valid");
+      return StatusCode::FAILURE;
+    } else {
+      d->setObjectLink( "view", viewlink );
+      ATH_MSG_DEBUG("REGTEST: " << m_viewsKey.key() << " = " << (*viewlink));
+    }
+    
+    // retrieve RoI descriptor
+    auto roilink = ElementLink<TrigRoiDescriptorCollection>( view->name()+"_"+m_roiKey.key(), 0 ); 
+    if(!roilink.isValid()) {
+      ATH_MSG_ERROR("ReadHandle for TrigRoiDescriptorCollection key:" << m_roiKey.key() << " isn't Valid");
+      return StatusCode::FAILURE;
+    } else {
+      d->setObjectLink( "roi", roilink );
+      ATH_MSG_DEBUG("REGTEST: " << m_roiKey.key() << " eta/phi = " << (*roilink)->eta() << "/" << (*roilink)->phi());
+    }
+    
+    // retrieve xAOD::Muon Decision 
+    if(muons->size()>0){
+      auto muonlink = ElementLink<xAOD::MuonContainer>( view->name()+"_"+m_muonKey.key(), 0 ); 
+      if(!muonlink.isValid()) {
+	ATH_MSG_ERROR("ReadHandle for xAOD::MuonContainer key:" << m_muonKey.key() << " isn't Valid");
+	return StatusCode::FAILURE;
+      } else {
+	d->setObjectLink( "feature", muonlink );
+	ATH_MSG_DEBUG("REGTEST: " << m_muonKey.key() << " pT = " << (*muonlink)->pt() << " GeV");
+	ATH_MSG_DEBUG("REGTEST: " << m_muonKey.key() << " eta/phi = " << (*muonlink)->eta() << "/" << (*muonlink)->phi());
+      }
+    }
+    
+    counter++;
+  } // End of view loops */
+
+  // to TrigMuonEFMSonlyHypoTool
+  StatusCode sc = StatusCode::SUCCESS;
+  for ( auto& tool: m_hypoTools ) {
+    ATH_MSG_DEBUG("Go to " << tool );
+    sc = tool->decide(toolInput);
+    if (!sc.isSuccess()) {
+      ATH_MSG_ERROR("MuonHypoTool is failed");
+      return StatusCode::FAILURE;
+    }
+  } // End of tool algorithms */	
+
+  auto handle =  SG::makeHandle(m_decisionsKey, context);     
+  ATH_CHECK( handle.record( std::move(decisions), std::move(aux) ) );
+
+  ATH_MSG_DEBUG("StatusCode TrigMuonEFMSonlyHypoAlg::execute_r success");
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoTool.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoTool.cxx
new file mode 100644
index 00000000000..b0ace27e294
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFMSonlyHypoTool.cxx
@@ -0,0 +1,131 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TrigMuonHypo/TrigMuonEFMSonlyHypoTool.h"
+#include "CLHEP/Units/SystemOfUnits.h"
+#include "DecisionHandling/TrigCompositeUtils.h"
+#include "AthenaMonitoring/MonitoredScope.h"
+
+class ISvcLocator;
+
+TrigMuonEFMSonlyHypoTool::TrigMuonEFMSonlyHypoTool(const std::string & type, const std::string & name, const IInterface* parent):
+  AthAlgTool(type, name, parent),
+  m_decisionId(HLT::Identifier::fromToolName(name)){
+  declareProperty("AcceptAll", m_acceptAll=true);
+  std::vector<float> def_bins;
+  def_bins.push_back(0);
+  def_bins.push_back(9.9);
+  std::vector<float> def_thrs;
+  def_thrs.push_back(0.*CLHEP::GeV);
+  declareProperty("PtBins", m_ptBins=def_bins);
+  declareProperty("PtThresholds", m_ptThresholds=def_thrs);
+
+  m_bins = 0;
+
+}
+
+TrigMuonEFMSonlyHypoTool::~TrigMuonEFMSonlyHypoTool(){
+}
+
+StatusCode TrigMuonEFMSonlyHypoTool::initialize(){
+
+
+  if(m_acceptAll) {
+    ATH_MSG_INFO("Accepting all the events with not cut!");
+  } else {
+    m_bins = m_ptBins.size() - 1;
+    if (m_bins != m_ptThresholds.size()) {
+      ATH_MSG_ERROR("bad thresholds setup .... exiting!");
+      return StatusCode::FAILURE;
+    }
+
+    for (std::vector<float>::size_type i=0; i<m_bins;++i) {
+      ATH_MSG_INFO( "bin " << m_ptBins[i] << " - " <<  m_ptBins[i+1]<<" with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV<< " GeV");
+    }
+  }
+
+  ATH_MSG_INFO("Initialization completed successfully");
+  return StatusCode::SUCCESS;
+}
+
+
+StatusCode TrigMuonEFMSonlyHypoTool::decide(TrigMuonEFMSonlyHypoTool::MuonEFInfo& input) const{
+
+
+  ATH_MSG_DEBUG( "deciding...");
+
+  using namespace Monitored;
+  //Monitored Variables
+  std::vector<float> fexPt, fexEta, fexPhi;
+
+  auto muonPtMon = MonitoredCollection::declare("MSonlyTrkPt", fexPt);
+  auto muonEtaMon = MonitoredCollection::declare("MSonlyTrkEta", fexEta);
+  auto muonPhiMon = MonitoredCollection::declare("MSonlyTrkPhi", fexPhi);
+
+  bool result = false;
+  //for pass through mode
+  if(m_acceptAll) {
+    result = true;
+    ATH_MSG_DEBUG("Accept property is set: taking all the events");
+    return StatusCode(result);
+  }
+
+  //  decision making
+  //Get xAOD::MuonContainer from hypotool
+  const xAOD::MuonContainer *muonContainer = input.muons;
+  if(!muonContainer){
+    ATH_MSG_DEBUG("Retrieval of xAOD::MuonContainer failed");
+    return StatusCode::FAILURE;
+  }
+
+  for(auto muon : *muonContainer){
+    if (muon->primaryTrackParticle()) { // was there a muon in this RoI ?
+
+      const xAOD::TrackParticle* tr = muon->trackParticle(xAOD::Muon::TrackParticleType::ExtrapolatedMuonSpectrometerTrackParticle);
+
+      if (!tr) {
+	ATH_MSG_DEBUG("No ExtrapolatedMuonSpectrometerTrackParticle found.");
+	continue;
+      } else {
+	ATH_MSG_DEBUG("Retrieved ExtrapolatedMuonSpectrometerTrack track with abs pt "<< (*tr).pt()/CLHEP::GeV << " GeV ");
+
+	//fill monitored variables
+	fexPt.push_back(tr->pt()/CLHEP::GeV);
+	fexEta.push_back(tr->eta());
+	fexPhi.push_back(tr->phi());
+
+	//Apply hypo cuts
+	float absEta = fabs(tr->eta());
+	float threshold = 0;
+	for (std::vector<float>::size_type k=0; k<m_bins; ++k) {
+	  if (absEta > m_ptBins[k] && absEta <= m_ptBins[k+1]) threshold = m_ptThresholds[k];
+	}
+	if (fabs(tr->pt())/CLHEP::GeV > (threshold/CLHEP::GeV)){
+	  result = true;
+	}
+	ATH_MSG_DEBUG(" REGTEST muon pt is " << tr->pt()/CLHEP::GeV << " GeV "
+		      << " with Charge " << tr->charge()
+		      << " and threshold cut is " << threshold/CLHEP::GeV << " GeV"
+		      << " so hypothesis is " << (result?"true":"false"));
+      }
+    }
+  }
+  return StatusCode(result);				
+}
+  
+
+StatusCode TrigMuonEFMSonlyHypoTool::decide(std::vector<MuonEFInfo>& toolInput) const {
+  ATH_MSG_DEBUG("Applying selection of single << " << m_decisionId.numeric());
+  for ( auto& i: toolInput) {
+    if (TrigCompositeUtils::passed(m_decisionId.numeric(), i.previousDecisionIDs)) {
+      if ( decide(i) ) {
+	ATH_MSG_DEBUG("hypothesis is true, so muon passed selection");
+	TrigCompositeUtils::addDecisionID(m_decisionId, i.decision);
+      } else {
+	ATH_MSG_DEBUG("hypothesis is false, so no muons passed selection");
+      }
+    } 
+  } 
+  return StatusCode::SUCCESS;
+}
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoAlg.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoAlg.cxx
new file mode 100644
index 00000000000..096a3139ed3
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoAlg.cxx
@@ -0,0 +1,160 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <math.h>
+
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/StatusCode.h"
+
+#include "DecisionHandling/TrigCompositeUtils.h"
+#include "xAODTrigMuon/L2StandAloneMuonContainer.h" 
+
+#include "TrigMuonHypo/TrigmuCombHypoAlg.h"
+
+using namespace TrigCompositeUtils; 
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+TrigmuCombHypoAlg::TrigmuCombHypoAlg( const std::string& name,
+				      ISvcLocator* pSvcLocator ) :
+  ::AthReentrantAlgorithm( name, pSvcLocator )
+{
+
+} 
+
+TrigmuCombHypoAlg::~TrigmuCombHypoAlg() 
+{}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigmuCombHypoAlg::initialize()
+{
+  ATH_MSG_INFO ( "Initializing " << name() << "..." );
+  ATH_CHECK(m_hypoTools.retrieve());
+
+  ATH_CHECK(m_decisionsKey.initialize());
+
+  ATH_CHECK(m_muonDecisionsKey.initialize());
+
+  ATH_CHECK(m_viewsKey.initialize());
+
+  renounce(m_combinedKey);
+  ATH_CHECK(m_combinedKey.initialize());
+
+  ATH_MSG_INFO( "Initialization completed successfully" );
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigmuCombHypoAlg::finalize() 
+{   
+  ATH_MSG_INFO( "Finalizing " << name() << "..." );
+  ATH_MSG_INFO( "Finalization completed successfully" );
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigmuCombHypoAlg::execute_r(const EventContext& context) const
+{
+
+  ATH_MSG_DEBUG("StatusCode TrigmuCombHypoAlg::execute_r start");
+
+  // prepare decisions container
+  auto decisions = std::make_unique<DecisionContainer>();
+  auto aux = std::make_unique<DecisionAuxContainer>();
+  decisions->setStore(aux.get());
+
+  // extract mapping of cluster pointer to an index in the cluster decision collection
+  auto clusterDecisionsHandle= SG::makeHandle( m_muonDecisionsKey, context );
+  std::map<const xAOD::L2StandAloneMuon*, size_t> clusterToIndexMap;
+
+  size_t clusterCounter = 0;
+  for (auto cluIter = clusterDecisionsHandle->begin(); cluIter != clusterDecisionsHandle->end(); ++cluIter) {
+    ATH_CHECK((*cluIter)->hasObjectLink("feature"));
+    const xAOD::L2StandAloneMuon* cluster = (*cluIter)->object<xAOD::L2StandAloneMuon>("feature");
+    clusterToIndexMap.insert(std::make_pair(cluster, clusterCounter));
+ 
+    ++clusterCounter;
+  }
+  ATH_MSG_DEBUG( "Cluster ptr to decision map has size " << clusterToIndexMap.size() );
+
+  // prepare imput for tools  
+  std::vector<TrigmuCombHypoTool::CombinedMuonInfo> hypoToolInput;
+
+  // retrieve views created on l2muCombViewsCreator
+  auto viewsHandle = SG::makeHandle(m_viewsKey, context);
+  if (!viewsHandle.isValid()) {
+    ATH_MSG_ERROR("ReadHandle for std::vector< SG::View*> key:" << m_viewsKey.key() << " is failed");
+    return StatusCode::FAILURE;
+  }
+
+  for (auto view: *viewsHandle) {
+    size_t muonCounter = 0;
+
+    // retrieve xAOD::CombinedMuonContaier created on muComb algorithm
+    auto muonHandle = SG::makeHandle(m_combinedKey, context);
+    ATH_CHECK(muonHandle.setProxyDict(view));
+    if(!muonHandle.isValid()) {
+      ATH_MSG_ERROR("ReadHandle for xAOD::L2CombinedMuonContainer key:" << m_combinedKey.key() << " is failed");
+      return StatusCode::FAILURE;
+    }
+
+    xAOD::L2CombinedMuonContainer::const_iterator muIter;
+    for (muIter = muonHandle->begin(); muIter != muonHandle->end(); ++muIter) {
+      auto d = newDecisionIn(decisions.get());
+      auto element = ElementLink<xAOD::L2CombinedMuonContainer>(view->name()+"_"+m_combinedKey.key(), muonCounter);
+      d->setObjectLink("feature", element);
+
+      // get muSATracks from xAOD::CombinedMuonContainer
+      auto clusterPtr = (*muIter)->muSATrack();
+      ATH_CHECK(clusterPtr != nullptr);
+
+      ATH_MSG_DEBUG("REGTEST: muSATrack pt in " << m_combinedKey.key() << " = " << clusterPtr->pt() << " GeV");
+      ATH_MSG_DEBUG("REGTEST: muSATrack eta/phi in " << m_combinedKey.key() << " = " << clusterPtr->eta() << "/" << clusterPtr->phi());
+      
+      ATH_MSG_DEBUG("REGTEST: muCBTrack pt in " << m_combinedKey.key() << " = " << (*muIter)->pt() << " GeV");
+      ATH_MSG_DEBUG("REGTEST: muCBTrack eta/phi in " << m_combinedKey.key() << " = " << (*muIter)->eta() << "/" << (*muIter)->phi());
+      
+      // now find matching cluster could use geometric matching 
+      // but in fact the cluster owned by the decision object and the cluster owned by the electron should be the same       
+      // since we have a map made in advance we can make use of the index lookup w/o the need for additional loop 
+      auto origCluster = clusterToIndexMap.find(clusterPtr);
+      ATH_CHECK(origCluster != clusterToIndexMap.end());
+      linkToPrevious(d, m_muonDecisionsKey.key(), origCluster->second);
+
+      // now we have DecisionObject ready to be passed to hypo tool. 
+      // it has link to electron, and decisions on clusters 
+      // we shall avoid calling the tools for chains which were already rejected on certain cluster, but this is left to hypo tools
+      DecisionIDContainer clusterDecisionIDs;
+      decisionIDs(clusterDecisionsHandle->at(origCluster->second), clusterDecisionIDs);
+      
+      auto el = TrigmuCombHypoTool::CombinedMuonInfo{d, *muIter, origCluster->first, clusterDecisionIDs}; 
+      hypoToolInput.emplace_back(el);
+    } 
+    ++muonCounter;
+  }
+
+  // hypo tools
+  for ( auto & tool: m_hypoTools ) {
+    ATH_MSG_DEBUG("Go to " << tool);
+    ATH_CHECK( tool->decide( hypoToolInput ) );
+  }
+
+  // recorded decision objects on TrigmuCombHypo
+  auto handle =  SG::makeHandle( m_decisionsKey, context );
+  ATH_CHECK( handle.record( std::move( decisions ), std::move( aux ) ) );
+
+  ATH_MSG_DEBUG("StatusCode TrigmuCombHypoAlg::execute_r success");
+  return StatusCode::SUCCESS;
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoTool.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoTool.cxx
new file mode 100644
index 00000000000..1d6b2d3fbcd
--- /dev/null
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigmuCombHypoTool.cxx
@@ -0,0 +1,243 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <math.h>
+#include <algorithm>
+
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/StatusCode.h"
+#include "AthenaMonitoring/MonitoredScope.h"
+
+#include "DecisionHandling/TrigCompositeUtils.h"
+#include "TrigMuonHypo/TrigmuCombHypoTool.h"
+
+using namespace TrigCompositeUtils;
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+TrigmuCombHypoTool::TrigmuCombHypoTool(const std::string& type, 
+				       const std::string & name,
+				       const IInterface* parent )
+   : AthAlgTool( type, name, parent ),
+     m_decisionId( HLT::Identifier::fromToolName( name ) ) 
+{
+   std::vector<float> defBins;
+   defBins.push_back(0);
+   defBins.push_back(2.5);
+   std::vector<float> defThrs;
+   defThrs.push_back(5.83 * CLHEP::GeV);
+
+   declareProperty("PtBins", m_ptBins = defBins);
+   declareProperty("PtThresholds", m_ptThresholds = defThrs);
+
+   declareProperty("AcceptAll", m_acceptAll = false);
+
+   // Enable pi/K decay rejection
+   declareProperty("ApplyPikCuts",        m_pikCuts = false);
+   declareProperty("MaxPtToApplyPik",      m_maxPtToApplyPik = 25.);
+   declareProperty("MaxChi2IDPik",         m_chi2MaxID = 3.5);
+
+   // strategy dependent pT cuts
+   //0: Std
+   //1: simplified match Pt combined
+   //2: simplified match Pt ID
+   //3: simplified match Pt MU
+   //4: simplified match Pt infinite
+   declareProperty("ApplyStrategyDependentCuts", m_strategydependent = false);
+   declareProperty("StrategyDependentPtCuts",    m_strategyDependentPtCuts);
+
+   std::vector<double> defStrategyDependentPtCuts;
+   defStrategyDependentPtCuts.push_back(0.0);     //strategy 1 (in GeV) (if<0 do not apply the standard signature cut)
+   defStrategyDependentPtCuts.push_back(0.0);     //strategy 2 (in GeV) 
+   defStrategyDependentPtCuts.push_back(0.0);     //strategy 3 (in GeV)
+   defStrategyDependentPtCuts.push_back(-3.0);    //strategy 4 (in GeV)
+   m_strategyDependentPtCuts.set(defStrategyDependentPtCuts);
+
+   m_bins = 0;
+}
+
+TrigmuCombHypoTool::~TrigmuCombHypoTool(){
+}
+
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+StatusCode TrigmuCombHypoTool::initialize()
+{
+  ATH_MSG_INFO("Initializing " << name() << " - package version " << PACKAGE_VERSION);
+
+  ATH_MSG_DEBUG( "Tool configured for chain/id: " << m_decisionId );
+
+  if (m_acceptAll) {
+     ATH_MSG_INFO("Accepting all the events with not cut!");
+  } else {
+     m_bins = m_ptBins.size() - 1;
+     if (m_bins != m_ptThresholds.size()) {
+        ATH_MSG_INFO("bad thresholds setup .... exiting!");
+        return StatusCode::FAILURE;
+     }
+
+     for (std::vector<float>::size_type i = 0; i < m_bins; ++i) {
+
+        ATH_MSG_INFO("bin " << m_ptBins[i] << " - " <<  m_ptBins[i + 1]
+           	  << " with Pt Threshold of " << (m_ptThresholds[i]) / CLHEP::GeV << " GeV");
+     }
+
+  }
+
+  if ( not m_monTool.name().empty() ) {
+     ATH_CHECK( m_monTool.retrieve() );
+     ATH_MSG_DEBUG("MonTool name: " << m_monTool);
+  }
+
+  ATH_MSG_INFO("Initializing" << name() << "successfully");
+
+  return StatusCode::SUCCESS;
+}
+
+StatusCode TrigmuCombHypoTool::decide(TrigmuCombHypoTool::CombinedMuonInfo& input) const
+{
+  ATH_MSG_DEBUG("StatusCode decide() start");
+
+  using namespace Monitored;
+
+  // defined Monitoring variables
+  auto fexPt	= MonitoredScalar::declare("Pt", -9999.);
+  auto ptFL	= MonitoredScalar::declare("PtFL", -9999.);
+  auto Strategy	= MonitoredScalar::declare("StrategyFlag", 0);
+  auto idEta 	= MonitoredScalar::declare("Eta", -9999.);
+  auto idPhi 	= MonitoredScalar::declare("Phi", -9999.);
+  auto idZ0 	= MonitoredScalar::declare("Z0", -9999.);
+  auto idA0 	= MonitoredScalar::declare("A0", -9999.);
+
+  auto monitorIt = MonitoredScope::declare(m_monTool, fexPt, ptFL, Strategy, 
+					   idEta, idPhi, idZ0, idA0);
+  // flag to pass or not
+  bool result = false;
+
+  if(m_acceptAll) {
+    result = true;
+    ATH_MSG_DEBUG("Accept property is set: taking all the events");
+    return StatusCode(result);
+  } else {
+    result = false;
+    ATH_MSG_DEBUG("Accept property not set: applying selection!");
+  }
+
+  //Retrieve combined muon
+  //xAOD::L2CombinedMuon
+  auto pMuon = input.cluster;
+  if (!pMuon) {
+     ATH_MSG_ERROR("Retrieval of xAOD::L2CombinedMuon from vector failed");
+     return StatusCode::FAILURE;
+  }
+
+  auto ptValue = pMuon->pt() * pMuon->charge() / CLHEP::GeV;
+
+  fexPt    = ptValue;
+  ptFL      = ptValue;
+  idEta    = pMuon->eta();
+  idPhi    = pMuon->phi();
+  int usealgo      = pMuon->strategy();
+  float ptresComb = pMuon->sigmaPt() / CLHEP::GeV;
+  Strategy  = usealgo;
+  ATH_MSG_DEBUG("combined muon pt (GeV)/ sigma_pt (GeV)/ eta / phi / usedalgo: " 
+              << fexPt << " (GeV) / " << ptresComb << " (GeV) / " << idEta << " / " << idPhi 
+              << " / " << usealgo);
+
+  if (pMuon->pt() == 0) {
+     ATH_MSG_DEBUG("L2CombinedMuon pt == 0, empty container -> rejected");
+     result = false;
+     return StatusCode(result);
+  }
+
+  // check the pointers to the L2StandAloneMuon
+  if (!pMuon->muSATrack()) {
+     ATH_MSG_DEBUG("L2CombinedMuon has no valid xaOD::L2StandaloneMuon -> rejected");
+     result = false;
+     return StatusCode(result);
+  }
+
+  // check the pointer to the ID track
+  if (!pMuon->idTrack()) {
+     ATH_MSG_DEBUG("L2CombinedMuon has no valid xAOD:TrackParticle IDtrack -> rejected");
+     result = false;
+     return StatusCode(result);
+  }
+
+  idA0     = pMuon->idTrack()->d0();
+  idZ0     = pMuon->idTrack()->z0();
+
+  //Get the Pt cut for that eta bin
+  float threshold = (idEta != -9999) ? 0 : 99999999;
+  float absEta = fabs(idEta);
+  for (std::vector<float>::size_type i = 0; i < m_bins; ++i) {
+     if (absEta > m_ptBins[i] && absEta < m_ptBins[i + 1]) threshold = m_ptThresholds[i];
+  }
+
+  // Check pt threshold for hypothesis and pi/k rejection cuts,
+  // convert units since Muonfeature is in GeV
+
+  //Kpi rejection
+  bool pikCut = true;
+  if (m_pikCuts && (std::abs(fexPt) < m_maxPtToApplyPik)) {
+     if (pMuon->idTrack()->chiSquared() > m_chi2MaxID) pikCut = false;
+  }
+
+  //Std Pt cut
+  bool stdCut = true;
+  if (std::abs(fexPt) <= (threshold / CLHEP::GeV)) stdCut = false;
+  ATH_MSG_DEBUG("REGTEST muon pt is " << fexPt
+             << " GeV and threshold cut is " << threshold / CLHEP::GeV
+             << " GeV and pik_cut is " << (pikCut ? "true" : "false"));
+
+  //Strategy dependent Pt cuts
+  bool sdpCut = true;
+  if (m_strategydependent && usealgo > 0) {
+     if (usealgo >= 1 && usealgo <= 4) {
+        double tmpcut = m_strategyDependentPtCuts.value()[usealgo - 1];
+        if (std::abs(fexPt) <= std::abs(tmpcut)) sdpCut = false;
+        if (tmpcut < 0) stdCut = true; //Do not apply std Pt cut
+        ATH_MSG_DEBUG("REGTEST muon pt is " << fexPt << " GeV"
+                   << " and threshold for strategy dependent cut is " << tmpcut
+                   << " GeV and strategy dependent / std cuts are " << (sdpCut ? "true" : "false") << " / " << (stdCut ? "true" : "false"));
+     } else {
+        ATH_MSG_DEBUG("usealgo out of range, is: " << usealgo << " while should be in [1, 4]");
+     }
+  }
+
+  result = stdCut && pikCut && sdpCut;
+
+  if (result) ptFL = -9999.;
+
+  ATH_MSG_DEBUG("REGTEST muon passed pt threshold: " << (stdCut ? "true" : "false")
+             << " and pik_cut is " << (pikCut ? "true" : "false")
+             << " and strategy dependent cuts is " << (sdpCut ? "true" : "false")
+             << " so hypothesis is " << (result ? "true" : "false"));
+
+  return StatusCode(result);
+}
+
+// from TrigmuCombHypoTool 
+StatusCode TrigmuCombHypoTool::decide(std::vector<TrigmuCombHypoTool::CombinedMuonInfo>& hypoToolInput) const
+{
+  ATH_MSG_DEBUG("Applying selection of single << " << m_decisionId.numeric());
+
+  for ( auto& i: hypoToolInput) {
+    if (TrigCompositeUtils::passed(m_decisionId.numeric(), i.previousDecisionIDs)) {
+      if ( decide(i) ) {
+        ATH_MSG_DEBUG("hypothesis is true, so object passed selection");
+        TrigCompositeUtils::addDecisionID(m_decisionId, i.decision);
+      } else {
+        ATH_MSG_DEBUG("hypothesis is false, so no objest passed selection");
+      } // End of TrigMufastHypoTool decide()
+    } 
+  } // End of MuonClusterInfo loops 
+
+  return StatusCode::SUCCESS;
+}
+// --------------------------------------------------------------------------------
+// --------------------------------------------------------------------------------
+
+
diff --git a/Trigger/TrigSteer/L1Decoder/src/IPrescalingTool.h b/Trigger/TrigSteer/L1Decoder/src/IPrescalingTool.h
new file mode 100644
index 00000000000..42002723e22
--- /dev/null
+++ b/Trigger/TrigSteer/L1Decoder/src/IPrescalingTool.h
@@ -0,0 +1,30 @@
+#ifndef L1DEcoder_IPrescalingTool_h
+#define L1DEcoder_IPrescalingTool_h
+
+#include "DecisionHandling/HLTIdentifier.h"
+#include "GaudiKernel/IAlgTool.h"
+
+/**
+ * @class Implementations of this interface are responsible for 
+ * applying scaler decisions on the set of active chains
+ **/
+class IPrescalingTool : virtual public IAlgTool { 
+public: 
+  DeclareInterfaceID( IPrescalingTool, 1, 0 );
+
+  /**
+   * @brief the interface needed to do the prescaling
+   * @arg initialyActive set of chains initiated by the L1 seeds
+   * @arg remainActive set of chains that remain active (relevant) after prescaling   
+   * Internally implementations require to keep RNGs and therefore the interface is non-const.
+   **/
+  virtual StatusCode prescaleChains( const EventContext& ctx,  
+				     const HLT::IDVec& initialyActive,
+				     HLT::IDVec& remainActive ) = 0;
+  
+  
+
+};
+
+
+#endif
diff --git a/Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.cxx b/Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.cxx
new file mode 100644
index 00000000000..d9001f7185a
--- /dev/null
+++ b/Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.cxx
@@ -0,0 +1,67 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#include "GaudiKernel/IToolSvc.h"
+#include "CLHEP/Random/RandomEngine.h"
+#include "PrescalingEmulationTool.h"
+
+
+PrescalingEmulationTool::PrescalingEmulationTool( const std::string& type, 
+		      const std::string& name, 
+		      const IInterface* parent ) 
+  : base_class(type, name, parent) { }
+
+PrescalingEmulationTool::~PrescalingEmulationTool() { }
+
+StatusCode PrescalingEmulationTool::initialize() {
+  CHECK( m_RNGSvc.retrieve() );
+  m_RNGEngine = m_RNGSvc->GetEngine( name() );
+  CHECK ( m_RNGEngine != nullptr );
+  
+  CHECK( m_eventInfo.initialize( not m_eventInfo.key().empty() ) );
+
+  for ( const std::string& confElement: m_prescalingConfig ) {
+    std::string chainName( confElement, 0, confElement.find(':') );
+    std::string psValue( confElement, confElement.find(':')+1 );
+    ATH_MSG_DEBUG( "Decoded part of the config " << chainName << " " << psValue );
+    m_prescalingInfo[HLT::Identifier( chainName ) ] = 1./std::stof( psValue );
+  }
+  return StatusCode::SUCCESS;
+}
+
+StatusCode PrescalingEmulationTool::prescaleChains( const EventContext& ctx,  
+						  const HLT::IDVec& initialyActive,
+						  HLT::IDVec& remainActive ) {
+  if ( initialyActive.empty() ) 
+    return StatusCode::SUCCESS;
+
+  // obtain CTP time
+  remainActive.reserve( initialyActive.size() );
+  size_t seed =  initialyActive[0].numeric();
+
+  if ( not m_eventInfo.key().empty() ) {
+    auto handle = SG::makeHandle( m_eventInfo, ctx );
+    const xAOD::EventInfo* event = handle.cptr();
+    
+    // not sure we should mimick something we had before, will not be abel to reproduce it exactly anyways
+    seed ^= event->timeStamp() ^ event->timeStampNSOffset();
+    m_RNGEngine->setSeed( seed, 0 );
+  }
+
+  for ( auto ch: initialyActive ) {
+    PrescalingInfo::const_iterator chainPS = m_prescalingInfo.find( ch );
+    const bool decision = ( chainPS != m_prescalingInfo.end() ) ? m_RNGEngine->flat() < chainPS->second : bool(m_keepUnknownChains);
+    ATH_MSG_DEBUG("Prescaling decision for chain " << ch << " " << decision );
+    if ( decision ) 
+      remainActive.push_back( ch );
+  }
+  return StatusCode::SUCCESS;
+}
+
+
+StatusCode PrescalingEmulationTool::finalize()
+{
+  return StatusCode::SUCCESS;
+}
+
+
diff --git a/Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.h b/Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.h
new file mode 100644
index 00000000000..65d3c401f21
--- /dev/null
+++ b/Trigger/TrigSteer/L1Decoder/src/PrescalingEmulationTool.h
@@ -0,0 +1,57 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+#ifndef L1DECODER_PRESCALINGEMULATIONTOOL_H 
+#define L1DECODER_PRESCALINGEMULATIONTOOL_H
+
+// STL includes
+#include <string>
+
+// FrameWork includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "xAODEventInfo/EventInfo.h"
+#include "AthenaKernel/IAtRndmGenSvc.h"
+
+// L1Decoder includes
+#include "./IPrescalingTool.h"
+
+
+
+/**
+ * @class Implementation of prescaling tool for the offline use
+ * @brief Uses property of this tool to configure the prescaling.
+ * The prescaling info is constant over  the whole job. 
+ * For running online, where prescaling changes according to conditions another implementation shall be used.
+ * Prescaling decision is a function of the chain ID only. The seed of the RNG is reset at every event and thus decisions are reproducible.
+ **/
+
+class PrescalingEmulationTool : public extends<AthAlgTool, IPrescalingTool> { 
+public:
+  PrescalingEmulationTool( const std::string& type,
+			   const std::string& name, 
+			   const IInterface* parent );
+
+  virtual ~PrescalingEmulationTool(); 
+
+  virtual StatusCode  initialize();
+  virtual StatusCode  finalize();
+
+  virtual StatusCode prescaleChains( const EventContext& ctx,  
+				     const HLT::IDVec& initialyActive,
+				     HLT::IDVec& remainActive ) override;  
+ private: 
+
+  PrescalingEmulationTool();  
+  ServiceHandle<IAtRndmGenSvc> m_RNGSvc{ this, "RNGSvc", "AtRanluxGenSvc/AtRanluxGenSvc", "RNG Factory Service" };
+  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo{ this, "EventInfo", "EventInfo", "EventInfo object, source of CTP time used to reseed the RNG" };
+  Gaudi::Property<bool> m_keepUnknownChains{ this, "KeepUnknownChains", true, "If True then chains for which prescaling information is not set are kept" }; 
+  Gaudi::Property< std::vector<std::string> > m_prescalingConfig{ this, "Prescales", {}, "The prescaling info in the form: \"chainName:PSValue\"" }; 
+  CLHEP::HepRandomEngine* m_RNGEngine{ nullptr };
+  
+  typedef std::map<HLT::Identifier, float> PrescalingInfo;
+  PrescalingInfo m_prescalingInfo;
+}; 
+
+
+#endif 
diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref
new file mode 100644
index 00000000000..d1b6cc93a6e
--- /dev/null
+++ b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref
@@ -0,0 +1,41 @@
+** test1: L1TopoSimulationUtils cosh at different delta-eta values**
+delta eta:  abs(0 - 23) = 23, cosh 000000001010000101
+delta eta:  abs(0 - 23) = 23, cosh 000000001010000101
+delta eta:  abs(0 - 24) = 24, cosh 000000001011000111
+** test2: L1TopoSimulationUtils KFLUT correction vs. et and eta**
+** test3: L1TopoSimulationUtils KFLUT saturation**
+This out_of_range is expected for ET values beyond 1024 : vector::_M_range_check: __n (which is 5) >= this->size() (which is 5)
+** test4: L1TopoSimulationUtils quadraticSumBW bitshift**
+ sum2(1, 1) : std = 1 bw = 1
+ sum2(-1, -1) : std = 1 bw = 1
+ sum2(3, 3) : std = 4 bw = 4
+ sum2(-3, -3) : std = 4 bw = 4
+ sum2(7, 7) : std = 9 bw = 9
+ sum2(-7, -7) : std = 9 bw = 9
+ sum2(15, 15) : std = 21 bw = 21
+ sum2(-15, -15) : std = 21 bw = 21
+ sum2(31, 31) : std = 43 bw = 43
+ sum2(-31, -31) : std = 43 bw = 43
+ sum2(63, 63) : std = 89 bw = 89
+ sum2(-63, -63) : std = 89 bw = 89
+ sum2(127, 127) : std = 179 bw = 179
+ sum2(-127, -127) : std = 179 bw = 179
+ sum2(255, 255) : std = 360 bw = 360
+ sum2(-255, -255) : std = 360 bw = 360
+ sum2(511, 511) : std = 722 bw = 722
+ sum2(-511, -511) : std = 722 bw = 722
+ sum2(1023, 1023) : std = 1446 bw = 1446
+ sum2(-1023, -1023) : std = 1446 bw = 1446
+ sum2(2047, 2047) : std = 2894 bw = 2894
+ sum2(-2047, -2047) : std = 2894 bw = 2894
+ sum2(4095, 4095) : std = 5791 bw = 5791
+ sum2(-4095, -4095) : std = 5791 bw = 5791
+ sum2(8191, 8191) : std = 11583 bw = 11583
+ sum2(-8191, -8191) : std = 11583 bw = 11583
+ sum2(16383, 16383) : std = 23169 bw = 23169
+ sum2(-16383, -16383) : std = 23169 bw = 23169
+ sum2(32767, 32767) : std = 46339 bw = 46339
+ sum2(-32767, -32767) : std = 46339 bw = 46339
+ sum2(0, 65535) : std = 65535 bw = 65535
+ sum2(362, 65535) : std = 65535 bw = 65535
+ sum2(46340, 46340) : std = 65534 bw = 65534
diff --git a/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt b/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt
new file mode 100644
index 00000000000..ed0571b725c
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/CMakeLists.txt
@@ -0,0 +1,37 @@
+################################################################################
+# Package: TrigT1NSW
+################################################################################
+
+# Declare the package name:
+atlas_subdir( TrigT1NSW )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/AthenaBaseComps
+                          GaudiKernel
+                          Trigger/TrigSteer/TrigInterfaces
+                          Trigger/TrigT1/TrigT1NSWSimTools
+                          PRIVATE
+                          Control/AthenaMonitoring
+                          Control/StoreGate
+                          Event/EventInfo )
+
+# External dependencies:
+find_package( Boost )
+find_package( TBB )
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
+
+# Component(s) in the package:
+atlas_add_component( TrigT1NSW
+                     src/*.cxx
+                     src/components/*.cxx
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${BOOST_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${BOOST_LIBRARIES} ${TBB_LIBRARIES} 
+                     AthenaBaseComps GaudiKernel TrigInterfacesLib TrigT1NSWSimTools AthenaMonitoringLib
+                     StoreGateLib SGtests EventInfo )
+
+# Install files from the package:
+atlas_install_headers( TrigT1NSW )
+atlas_install_python_modules( python/*.py )
+atlas_install_joboptions( share/*.py )
+
diff --git a/Trigger/TrigT1/TrigT1NSW/TrigT1NSW/NSWL1Simulation.h b/Trigger/TrigT1/TrigT1NSW/TrigT1NSW/NSWL1Simulation.h
new file mode 100644
index 00000000000..7e366878387
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/TrigT1NSW/NSWL1Simulation.h
@@ -0,0 +1,113 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGT1NSW_NSWL1SIMULATION_H
+#define TRIGT1NSW_NSWL1SIMULATION_H
+
+// Basic includes
+#include "AthenaBaseComps/AthAlgorithm.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/ToolHandle.h"
+#include "GaudiKernel/Property.h"
+//#include "StoreGate/DataHandle.h"
+
+// monitoring from HLT
+#include "TrigInterfaces/IMonitoredAlgo.h"
+
+// NSWL1SimTools includes
+#include "TrigT1NSWSimTools/IPadTdsTool.h"
+#include "TrigT1NSWSimTools/IStripTdsTool.h"
+#include "TrigT1NSWSimTools/IStripClusterTool.h"
+#include "TrigT1NSWSimTools/IStripSegmentTool.h"
+#include "TrigT1NSWSimTools/IMMStripTdsTool.h"
+#include "TrigT1NSWSimTools/IMMTriggerTool.h"
+#include "TrigT1NSWSimTools/IPadTriggerLogicTool.h"
+
+//#include "TrigConfigSvc/ITrigConfigSvc.h"  need the TriggerConfigSvc? maybe not
+
+// local includes
+
+
+
+// Forward includes
+class StoreGateSvc;
+class IMonitorToolBase;
+class TTree;
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+
+  /**
+   *
+   *   @short NSW L1 simulation algorithm
+   *
+   * This is the algorithm that masters the simulation of the Level-1 into the NSW.
+   * This algorithm will manage the configuration of the NSW LV1 and handle the tools
+   * used for simulating the hardware components, for monitoring the basic functionalities
+   * and for collecting the data into an ntuple (parameter definition and performance 
+   * studies). Depending of the job configuration it executes the pure offline simulation
+   * or the detailed hardware simulation.
+   *
+   *  @authors Alessandro Di Mattia <dimattia@cern.ch>, Geraldine Conti <geraldine.conti@cern.ch>
+   *
+   * @version \$Id: NSWL1Simulation.h,v 1.20 2013-01-29 21:14:24 efeld Exp $
+   *
+   */
+
+  class NSWL1Simulation: public AthAlgorithm, public IMonitoredAlgo {
+
+  public:
+
+    NSWL1Simulation( const std::string& name, ISvcLocator* pSvcLocator );
+    ~NSWL1Simulation();
+
+    virtual StatusCode initialize();
+    virtual StatusCode start();
+    virtual StatusCode beginRun();
+    virtual StatusCode execute();
+    virtual StatusCode finalize();
+
+    //! handle to result builder (for easy data access), now returning a dummy int
+    int resultBuilder() const;
+
+  
+
+  private:
+
+    // Needed tools:
+    ToolHandleArray < IMonitorToolBase > m_monitors;        //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink 
+    ToolHandle < IPadTdsTool >           m_pad_tds;         //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    ToolHandle < IPadTriggerLogicTool >  m_pad_trigger;     //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    ToolHandle < IStripTdsTool >         m_strip_tds;       //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    ToolHandle < IStripClusterTool >     m_strip_cluster;   //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    ToolHandle < IStripSegmentTool >     m_strip_segment;   //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    ToolHandle < IMMStripTdsTool >       m_mmstrip_tds;     //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink                                                   
+    ToolHandle < IMMTriggerTool >        m_mmtrigger;     //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink                                                   
+
+    // put analysis variables here
+    TTree*       m_tree;                                    //!< analysis ntuple
+    unsigned int m_current_run;                             //!< current run number
+    unsigned int m_current_evt;                             //!< current event number
+
+
+    // put monitoring variables here
+    std::vector<int> m_counters;                            //!< counters, see @link NSWL1Simulation::NSWL1Simulation @endlink
+
+
+    // properties: steering flags
+    bool        m_doOffline;                                //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    bool        m_doNtuple;                                 //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    bool        m_doMM;                                     //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink 
+    bool        m_dosTGC;                                   //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+    bool        m_doPadTrigger;                             //!< property, see @link NSWL1Simulation::NSWL1Simulation @endlink
+
+  };  // end of NSWL1Simulation class
+
+} // namespace NSWL1
+
+
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWAlgorithmConfig.py b/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWAlgorithmConfig.py
new file mode 100644
index 00000000000..366e0ac7637
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWAlgorithmConfig.py
@@ -0,0 +1,26 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+## get a handle to the default top-level algorithm sequence
+from AthenaCommon.AlgSequence import AlgSequence
+topSequence = AlgSequence()
+## get a handle to the ApplicationManager
+from AthenaCommon.AppMgr import theApp
+## get a handle to the ServiceManager
+from AthenaCommon.AppMgr import ServiceMgr as svcMgr
+
+
+if not hasattr( svcMgr, "THistSvc" ):
+  from GaudiSvc.GaudiSvcConf import THistSvc
+  svcMgr += THistSvc()
+#svcMgr.THistSvc.Output = ["file1 DATAFILE='HistFile.root' OPT='RECREATE'"];
+
+if not hasattr( theApp.Dlls, "RootHistCnv" ):
+  theApp.Dlls += [ "RootHistCnv" ]
+  theApp.HistogramPersistency = "ROOT"
+
+if not hasattr( svcMgr, "NTupleSvc" ):
+  from GaudiSvc.GaudiSvcConf import NTupleSvc
+  svcMgr += NTupleSvc()
+#svcMgr.NTupleSvc.Output = [ "FILE1 DATAFILE='NtupleFile.root' OPT='NEW'" ]
+
+#print topSequence
diff --git a/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWConfig.py b/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWConfig.py
new file mode 100755
index 00000000000..543053b567b
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWConfig.py
@@ -0,0 +1,37 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+
+from TrigT1NSW.TrigT1NSWConf import *
+
+class DefaultNSWL1Simulation(NSWL1__NSWL1Simulation):
+    __slots__ = []
+    
+    def __init__(self, name = "DefaultNSWL1Simulation"):
+        super( DefaultNSWL1Simulation, self ).__init__( name )
+
+        from AthenaCommon.Logging import logging
+        log = logging.getLogger( 'NSWL1Simulation' )
+ 
+        
+        # set steering properties
+        self.DoOffline      = True     # so far only offline simulation is available
+
+    def setDefaults(self, handle):
+        # so far no additional defaults
+        pass
+        
+        
+class NSWL1Simulation(DefaultNSWL1Simulation):
+    __slots__ = []
+    
+    def __init__(self, name = "NSWL1Simulation"):
+        super( NSWL1Simulation, self ).__init__( name )
+
+        # add validation histograms 
+        from TrigT1NSW.TrigT1NSWMonitoring import TrigT1NSWValidationMonitoring
+        self.AthenaMonTools += [ TrigT1NSWValidationMonitoring() ]
+
+
+    def setDefaults(self, handle):
+        #DefaultNSWL1Simulation.setDefault(handle)
+        pass
diff --git a/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWMonitoring.py b/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWMonitoring.py
new file mode 100644
index 00000000000..0057851d68f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/python/TrigT1NSWMonitoring.py
@@ -0,0 +1,14 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
+
+class TrigT1NSWValidationMonitoring(TrigGenericMonitoringToolConfig):
+    def __init__ (self, name="NSWL1Validation"):
+        super(TrigT1NSWValidationMonitoring, self).__init__(name)
+
+        """ define monitoring histograms for NSW L1 validation(RTT) """
+
+        self.defineTarget("Validation")
+
+        self.Histograms += [ defineHistogram('COUNTERS', type='TH1F', title='Counters; ; events', xbins=1, xmin=0.5, xmax=1.5,
+                              labels='input_events') ]
diff --git a/Trigger/TrigT1/TrigT1NSW/share/NSWL1.py b/Trigger/TrigT1/TrigT1NSW/share/NSWL1.py
new file mode 100755
index 00000000000..cd246e1e5a4
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/share/NSWL1.py
@@ -0,0 +1,86 @@
+# This is the configuration file to run ATLAS Digitization
+# Use the following switches for:
+#   athenaCommonFlags.EvtMax = <NEvents>         Number of events to digitize (set to -1 for all)
+#   athenaCommonFlags.SkipEvents = <NSkip>       Number of events from input file collection to skip
+#   athenaCommonFlags.PoolHitsInput=<FileName>   Input collections. The list of files with the hits to digitize
+#   athenaCommonFlags.PoolRDOOutput=<FileName>   Output file name
+
+#--------------------------------------------------------------
+# AthenaCommon configuration
+#--------------------------------------------------------------
+from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+athenaCommonFlags.AllowIgnoreConfigError=False #This job will stop if an include fails.
+from AthenaCommon.GlobalFlags import globalflags
+globalflags.ConditionsTag.set_Value_and_Lock("OFLCOND-RUN12-SDR-25")
+globalflags.DetDescrVersion.set_Value_and_Lock("ATLAS-R2-2015-03-01-00")
+
+from RecExConfig.RecFlags import rec as recFlags 
+recFlags.doNameAuditor = True
+
+globalflags.InputFormat.set_Value_and_Lock('pool')
+
+athenaCommonFlags.EvtMax = 500
+athenaCommonFlags.SkipEvents = 0
+
+import AthenaPoolCnvSvc.ReadAthenaPool
+svcMgr.EventSelector.InputCollections = [ "test.rdos.pool.root" ]
+
+from AthenaCommon.DetFlags import DetFlags
+DetFlags.ID_setOff()
+DetFlags.Calo_setOff()
+
+DetFlags.Muon_setOn()
+DetFlags.MDT_setOn()
+DetFlags.CSC_setOn()
+DetFlags.TGC_setOn()
+DetFlags.RPC_setOn()
+DetFlags.sTGC_setOn()
+DetFlags.Micromegas_setOn()
+
+DetFlags.digitize.MDT_setOn() 
+DetFlags.digitize.TGC_setOn() 
+DetFlags.digitize.RPC_setOn() 
+DetFlags.digitize.CSC_setOn() 
+DetFlags.digitize.Micromegas_setOn() 
+DetFlags.digitize.sTGC_setOn() 
+
+DetFlags.Truth_setOff()
+ 
+include('MuonGeoModelTest/NSWGeoSetup.py')
+GeoModelSvc.MuonVersionOverride="MuonSpectrometer-R.07.00-NSW"
+#-----------------------------------------------------------------------------
+# Algorithms:  NSW L1 simulation
+#-----------------------------------------------------------------------------
+
+include ('TrigT1NSW/TrigT1NSW_jobOptions.py')
+
+topSequence.NSWL1Simulation.OutputLevel=DEBUG
+topSequence.NSWL1Simulation.DoNtuple=True
+topSequence.NSWL1Simulation.PadTdsTool.DoNtuple=True
+topSequence.NSWL1Simulation.PadTriggerTool.DoNtuple=True
+topSequence.NSWL1Simulation.StripTdsTool.DoNtuple=True
+#topSequence.NSWL1Simulation.PadTdsTool.OutputLevel=VERBOSE
+#topSequence.NSWL1Simulation.PadTdsTool.VMM_DeadTime=3
+#topSequence.NSWL1Simulation.PadTdsTool.ApplyVMM_DeatTime=True
+
+
+#-----------------------------------------------------------------------------
+# save ROOT histograms and Tuple
+#-----------------------------------------------------------------------------
+
+if not hasattr( ServiceMgr, "THistSvc" ):
+  from GaudiSvc.GaudiSvcConf import THistSvc
+  ServiceMgr += THistSvc()
+ServiceMgr.THistSvc.Output = ["EXPERT DATAFILE='Monitoring.root' OPT='RECREATE'"];
+
+if not hasattr( theApp.Dlls, "RootHistCnv" ):
+  theApp.Dlls += [ "RootHistCnv" ]
+  theApp.HistogramPersistency = "ROOT"
+
+if not hasattr( ServiceMgr, "NTupleSvc" ):
+  from GaudiSvc.GaudiSvcConf import NTupleSvc
+  ServiceMgr += NTupleSvc()
+
+ServiceMgr.THistSvc.Output += [ "NSWL1Simulation DATAFILE='NSWL1Simulation.root' OPT='RECREATE'" ]
+
+print ServiceMgr
diff --git a/Trigger/TrigT1/TrigT1NSW/share/TrigT1NSW_jobOptions.py b/Trigger/TrigT1/TrigT1NSW/share/TrigT1NSW_jobOptions.py
new file mode 100755
index 00000000000..da251e886c6
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/share/TrigT1NSW_jobOptions.py
@@ -0,0 +1,9 @@
+#--------------------------------------------------------------
+# NSW L1 simulation algorithm
+#--------------------------------------------------------------
+
+from AthenaCommon.AlgSequence import AlgSequence
+topSequence = AlgSequence()
+
+from TrigT1NSW.TrigT1NSWConfig import NSWL1Simulation
+topSequence += NSWL1Simulation("NSWL1Simulation")
diff --git a/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.cxx b/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.cxx
new file mode 100644
index 00000000000..582a728bb02
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/src/NSWL1Simulation.cxx
@@ -0,0 +1,274 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "StoreGate/StoreGateSvc.h"
+#include "AthenaMonitoring/IMonitorToolBase.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// root includes
+#include "TTree.h"
+
+// Local includes
+#include "TrigT1NSW/NSWL1Simulation.h"
+
+#include <vector>
+
+namespace NSWL1 {
+
+  NSWL1Simulation::NSWL1Simulation( const std::string& name, ISvcLocator* pSvcLocator )
+    : AthAlgorithm( name, pSvcLocator ),
+      m_monitors(this),
+      m_pad_tds("NSWL1::PadTdsOfflineTool",this),
+      m_pad_trigger("NSWL1::PadTriggerLogicOfflineTool",this),
+      m_strip_tds("NSWL1::StripTdsOfflineTool",this),
+      m_strip_cluster("NSWL1::StripClusterTool",this),
+      m_strip_segment("NSWL1::StripSegmentTool",this),
+      m_mmstrip_tds("NSWL1::MMStripTdsOfflineTool",this),
+      m_mmtrigger("NSWL1::MMTriggerTool",this),
+      m_tree(nullptr),
+      m_current_run(-1),
+      m_current_evt(-1)
+  {
+
+    m_counters.clear();
+
+    // Services
+
+    // Property setting general behaviour:
+    declareProperty( "DoOffline",    m_doOffline    = false, "Steers the offline emulation of the LVL1 logic" );
+    declareProperty( "DoNtuple",     m_doNtuple     = false, "Create an ntuple for data analysis" );
+    declareProperty( "DoMM",         m_doMM         = false, "Run data analysis for MM" );
+    declareProperty( "DosTGC",       m_dosTGC       = true, "Run data analysis for sTGCs" );
+    declareProperty( "DoPadTrigger", m_doPadTrigger = true, "Run the pad trigger simulation" );
+
+    // declare monitoring tools
+    declareProperty( "AthenaMonTools",  m_monitors, "List of monitoring tools to be run with this instance, if incorrect then tool is silently skipped.");
+
+    declareProperty( "PadTdsTool",      m_pad_tds,  "Tool that simulates the functionalities of the PAD TDS");
+    declareProperty( "PadTriggerTool",  m_pad_trigger, "Tool that simulates the pad trigger logic");
+    declareProperty( "StripTdsTool",    m_strip_tds,  "Tool that simulates the functionalities of the Strip TDS");
+    declareProperty( "StripClusterTool",m_strip_cluster,  "Tool that simulates the Strip Clustering");
+    declareProperty( "StripSegmentTool",m_strip_cluster,  "Tool that simulates the Segment finding");
+    declareProperty( "MMStripTdsTool",  m_mmstrip_tds,  "Tool that simulates the functionalities of the MM STRIP TDS");
+    declareProperty( "MMTriggerTool",   m_mmtrigger,    "Tool that simulates the MM Trigger");
+
+
+    // declare monitoring variables
+    declareMonitoredStdContainer("COUNTERS", m_counters); // custom monitoring: number of processed events
+  }
+
+  NSWL1Simulation::~NSWL1Simulation() {
+
+  }
+
+
+  StatusCode NSWL1Simulation::initialize() {
+    ATH_MSG_INFO( "initialize " << name() );
+
+    StatusCode sc;
+
+    // Create an register the ntuple if requested, add branch for event and run number
+    if ( m_doNtuple ) {
+      ITHistSvc* tHistSvc;
+      sc = service("THistSvc", tHistSvc);
+      if(sc.isFailure()) {
+        ATH_MSG_FATAL("Unable to retrieve THistSvc");
+        return sc;
+      }
+
+      char ntuple_name[40];
+      memset(ntuple_name,'\0',40*sizeof(char));
+      sprintf(ntuple_name,"%sTree",name().c_str());
+
+      // create Ntuple and the branches
+      m_tree = new TTree(ntuple_name, "Ntuple of NSWL1Simulation");
+      m_tree->Branch("runNumber",   &m_current_run, "runNumber/i");
+      m_tree->Branch("eventNumber", &m_current_evt, "eventNumber/i");
+
+
+      char tdir_name[80];
+      memset(tdir_name,'\0',80*sizeof(char));
+      sprintf(tdir_name,"/%s/%s",name().c_str(),ntuple_name);
+
+      sc = tHistSvc->regTree(tdir_name,m_tree);
+      if (sc.isFailure()) {
+        ATH_MSG_FATAL("Unable to register the Tree " << m_tree->GetName() << " in the THistSvc");
+        return sc;
+      }
+    }
+
+
+    // retrieving the private tools implementing the simulation
+    if ( m_pad_tds.retrieve().isFailure() ) {
+      ATH_MSG_FATAL (m_pad_tds.propertyName() << ": Failed to retrieve tool " << m_pad_tds.type());
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO (m_pad_tds.propertyName() << ": Retrieved tool " << m_pad_tds.type());
+    }
+
+    if ( m_pad_trigger.retrieve().isFailure() ) {
+      ATH_MSG_FATAL (m_pad_trigger.propertyName() << ": Failed to retrieve tool " << m_pad_trigger.type());
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO (m_pad_trigger.propertyName() << ": Retrieved tool " << m_pad_trigger.type());
+    }
+
+    if ( m_strip_tds.retrieve().isFailure() ) {
+      ATH_MSG_FATAL (m_strip_tds.propertyName() << ": Failed to retrieve tool " << m_strip_tds.type());
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO (m_strip_tds.propertyName() << ": Retrieved tool " << m_strip_tds.type());
+    }
+    if ( m_mmtrigger.retrieve().isFailure() ) {
+      ATH_MSG_FATAL (m_mmtrigger.propertyName() << ": Failed to retrieve tool " << m_mmtrigger.type());
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO (m_mmtrigger.propertyName() << ": Retrieved tool " << m_mmtrigger.type());
+    }
+
+    if ( m_strip_cluster.retrieve().isFailure() ) {
+      ATH_MSG_FATAL (m_strip_cluster.propertyName() << ": Failed to retrieve tool " << m_strip_cluster.type());
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO (m_strip_cluster.propertyName() << ": Retrieved tool " << m_strip_cluster.type());
+    }
+
+    if ( m_strip_segment.retrieve().isFailure() ) {
+      ATH_MSG_FATAL (m_strip_segment.propertyName() << ": Failed to retrieve tool " << m_strip_segment.type());
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO (m_strip_segment.propertyName() << ": Retrieved tool " << m_strip_segment.type());
+    }
+
+
+    // Connect to Monitoring Service
+    sc = m_monitors.retrieve();
+    if ( sc.isFailure() ) {
+      ATH_MSG_ERROR("Monitoring tools not initialized: " << m_monitors);
+      return sc;
+    } else {
+      ATH_MSG_DEBUG("Connected to " << m_monitors.typesAndNames());
+    }
+
+    return StatusCode::SUCCESS;
+  }
+
+
+  StatusCode NSWL1Simulation::start() {
+    ATH_MSG_INFO("start " << name() );
+
+    ToolHandleArray<IMonitorToolBase>::iterator it;
+    for ( it = m_monitors.begin(); it != m_monitors.end(); ++it ) {
+      if ( (*it)->bookHists().isFailure() ) {
+        ATH_MSG_WARNING("Monitoring tool: " <<  (*it)
+                          << " in Algo: " << name()
+                          << " can't book histograms successfully, remove it or fix booking problem");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_DEBUG("Monitoring tool: " <<  (*it)
+                        << " in Algo: " << name() << " bookHists successful");
+      }
+    }
+
+    return StatusCode::SUCCESS;
+  }
+
+
+  StatusCode NSWL1Simulation::beginRun() {
+    ATH_MSG_INFO( "beginRun " << name() );
+    m_counters.clear();
+    return StatusCode::SUCCESS;
+  }
+
+
+  StatusCode NSWL1Simulation::execute() {
+    ATH_MSG_INFO( "execute" << name() );
+    m_counters.clear();
+
+    // retrieve the current run number and event number
+    const EventInfo* pevt = 0;
+    ATH_CHECK( evtStore()->retrieve(pevt) );
+    m_current_run = pevt->event_ID()->run_number();
+    m_current_evt = pevt->event_ID()->event_number();
+
+
+    m_counters.push_back(1.);  // a new event is being processed
+
+
+    // retrieve the PAD hit and compute pad trigger
+    if(m_dosTGC){
+        // DG-2015-10-02
+        // Currently storing pads from all sectors in one vector<>.
+        // Perhaps we could do here for(sector) instead of inside
+        // PadTriggerLogicOfflineTool (since all the pad and
+        // pad-trigger info is per-sector...)
+      std::vector<PadData*> pads;
+      ATH_CHECK( m_pad_tds->gather_pad_data(pads) );
+
+      std::vector<NSWL1::PadTrigger*> padTriggers; // will be passed on to m_strip_tds
+      if(m_doPadTrigger){
+          ATH_CHECK( m_pad_trigger->compute_pad_triggers(pads, padTriggers) );
+      }
+
+      // retrieve the STRIP hit data
+      std::vector<StripData*> strips;
+      ATH_CHECK( m_strip_tds->gather_strip_data(strips,padTriggers) );
+      std::vector< NSWL1::StripClusterData* > clusters;
+      // Cluster STRIPs readout by TDS
+      ATH_CHECK( m_strip_cluster->cluster_strip_data(strips,clusters) );
+      ATH_CHECK( m_strip_segment->find_segments(clusters) );
+
+    } // if(dosTGC)
+
+
+    //retrive the MM Strip hit data
+    if(m_doMM){
+ //      std::vector<MMStripData*> mmstrips;
+ //      sc = m_mmstrip_tds->gather_mmstrip_data(mmstrips);
+ //      if ( sc.isFailure() ) {
+	// ATH_MSG_ERROR( "Could not gather the MM Strip hit data" );
+	// return sc;
+ //      }
+      ATH_CHECK( m_mmtrigger->runTrigger() );
+    }
+
+    //
+    // do monitoring
+    //
+    ToolHandleArray<IMonitorToolBase>::iterator it;
+    for ( it = m_monitors.begin(); it != m_monitors.end(); ++it ) {
+      (*it)->fillHists().ignore();
+    }
+
+    if (m_tree) m_tree->Fill();
+
+    return StatusCode::SUCCESS;
+  }
+
+
+  StatusCode NSWL1Simulation::finalize() {
+    ATH_MSG_INFO( "finalize" << name() );
+
+    //
+    // monitoring
+    //
+    ToolHandleArray<IMonitorToolBase>::iterator it;
+    for ( it = m_monitors.begin(); it != m_monitors.end(); ++it ) {
+      (*it)->finalHists().ignore();
+    }
+
+    return StatusCode::SUCCESS;
+  }
+
+
+  int NSWL1Simulation::resultBuilder() const {
+    return 0;
+  }
+
+}
diff --git a/Trigger/TrigT1/TrigT1NSW/src/components/TrigT1NSW_entries.cxx b/Trigger/TrigT1/TrigT1NSW/src/components/TrigT1NSW_entries.cxx
new file mode 100755
index 00000000000..ccf0c1f2130
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSW/src/components/TrigT1NSW_entries.cxx
@@ -0,0 +1,5 @@
+#include "TrigT1NSW/NSWL1Simulation.h"
+
+using NSWL1::NSWL1Simulation;
+
+DECLARE_COMPONENT( NSWL1Simulation )
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt b/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt
new file mode 100644
index 00000000000..55574438ff8
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt
@@ -0,0 +1,45 @@
+################################################################################
+# Package: TrigT1NSWSimTools
+################################################################################
+
+# Declare the package name:
+atlas_subdir( TrigT1NSWSimTools )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          GaudiKernel
+                          PRIVATE
+                          Control/AthenaBaseComps
+                          Control/AthenaKernel
+                          DetectorDescription/AGDD/AGDDKernel
+                          DetectorDescription/GeoPrimitives
+                          DetectorDescription/Identifier
+                          Event/EventInfo
+                          MuonSpectrometer/MuonDetDescr/MuonAGDDDescription
+                          MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
+                          MuonSpectrometer/MuonDigitContainer
+                          MuonSpectrometer/MuonIdHelpers
+                          MuonSpectrometer/MuonSimEvent
+                          MuonSpectrometer/MuonSimData
+                          Simulation/G4Sim/TrackRecord )
+
+# External dependencies:
+find_package( Boost )
+find_package( TBB )
+find_package( HepMC )
+find_package( CLHEP )
+find_package( Eigen )
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint )
+
+# Component(s) in the package:
+atlas_add_component( TrigT1NSWSimTools
+                     src/*.cxx
+                     src/components/*.cxx
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${BOOST_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} ${BOOST_LIBRARIES} ${TBB_LIBRARIES} ${HEPMC_LIBRARIES} 
+                     SGTools GaudiKernel AthenaBaseComps AthenaKernel AGDDKernel GeoPrimitives Identifier EventInfo MuonAGDDDescription MuonReadoutGeometry
+                     MuonDigitContainer MuonIdHelpersLib MuonSimEvent MuonSimData )
+
+# Install files from the package:
+atlas_install_headers( TrigT1NSWSimTools )
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMFPGATool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMFPGATool.h
new file mode 100644
index 00000000000..5cc118ce2af
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMFPGATool.h
@@ -0,0 +1,49 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef IMMFPGATOOL_H
+#define IMMFPGATOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+
+//local includes
+#include "TrigT1NSWSimTools/MMStripData.h"
+#include "TrigT1NSWSimTools/MMCandidateData.h"
+#include <vector>
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *  @short interface for the MM FPGA tool
+   *
+   * This class implements the functionalities of the FPGA trigger logic.
+   * It returns a vector of MM Candidates to the input to the Trigger Sector Logic.
+   *
+   *  @authors Alessandro Di Mattia <dimattia@cern.ch>, Ourania Sidiropoulou <osidrop@cern.ch>
+   *
+   *
+   */
+
+
+  class IMMFPGATool: public virtual IAlgTool {
+
+  public:
+    virtual ~IMMFPGATool() {}
+
+    virtual StatusCode gather_mmcandidate_data(std::vector<MMStripData*>& strips, std::vector<MMCandidateData*>& candidates, int side=-1, int sector=-1) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IMMFPGATool("NSWL1::IMMFPGATool", 1 ,0);
+        return IID_IMMFPGATool;
+    }
+
+  };  // end of IMMFPGATools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMStripTdsTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMStripTdsTool.h
new file mode 100644
index 00000000000..f3c471fbd17
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMStripTdsTool.h
@@ -0,0 +1,48 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef IMMSTRIPTDSTOOL_H
+#define IMMSTRIPTDSTOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+
+//local includes
+#include "TrigT1NSWSimTools/MMStripData.h"
+#include <vector>
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *  @short interface for the MM StripTDS tools
+   *
+   * This class implements the public interface of the TDS Tools.
+   * It returns a vector of StripData to input the Trigger simulation.
+   *
+   *  @authors Alessandro Di Mattia <dimattia@cern.ch>, Geraldine Conti <geraldine.conti@cern.ch>
+   *
+   *
+   */
+
+
+  class IMMStripTdsTool: public virtual IAlgTool {
+
+  public:
+    virtual ~IMMStripTdsTool() {}
+
+    virtual StatusCode gather_mmstrip_data(std::vector<MMStripData*>& strips, int side=-1, int sector=-1) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IMMStripTdsTool("NSWL1::IMMStripTdsTool", 1 ,0);
+        return IID_IMMStripTdsTool;
+    }
+
+  };  // end of IMMStripTdsTools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMTriggerTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMTriggerTool.h
new file mode 100644
index 00000000000..357d742be42
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IMMTriggerTool.h
@@ -0,0 +1,38 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef IMMTRIGGERTOOL_H
+#define IMMTRIGGERTOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+
+//local includes
+#include <vector>
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+ 
+
+
+  class IMMTriggerTool: public virtual IAlgTool {
+
+  public:
+    virtual ~IMMTriggerTool() {}
+
+    virtual StatusCode runTrigger() = 0;
+
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IMMTriggerTool("NSWL1::IMMTriggerTool", 1 ,0);
+        return IID_IMMTriggerTool;
+    }
+
+  };  // end of IMMTriggerTools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTdsTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTdsTool.h
new file mode 100644
index 00000000000..e0a7a646602
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTdsTool.h
@@ -0,0 +1,50 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef IPADTDSTOOL_H
+#define IPADTDSTOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+
+//local includes
+#include "TrigT1NSWSimTools/PadData.h"
+#include <vector>
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+class PadTrigger;
+
+  /**
+   *
+   *   @short interface for the PadTDS tools
+   *
+   * This class implements the public interface of the TDS Tools.
+   * It returns a vector of PadData to input the PadTrigger simulation.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *
+   *
+   */
+
+
+  class IPadTdsTool: public virtual IAlgTool {
+
+  public:
+    virtual ~IPadTdsTool() {}
+
+    virtual StatusCode gather_pad_data(std::vector<PadData*>& pads, int side=-1, int sector=-1) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IPadTdsTool("NSWL1::IPadTdsTool", 1 ,0);
+        return IID_IPadTdsTool;
+    }
+
+  };  // end of IPadTdsTools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTriggerLogicTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTriggerLogicTool.h
new file mode 100644
index 00000000000..010cf014028
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IPadTriggerLogicTool.h
@@ -0,0 +1,52 @@
+//  -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSWL1_IPADTDSTOOL_H
+#define NSWL1_IPADTDSTOOL_H
+
+#include "GaudiKernel/IAlgTool.h"
+
+#include <vector>
+
+namespace NSWL1 {
+
+class PadData;
+class PadTrigger;
+
+/**
+
+   @short interface for the PadTriggerLogic tools
+
+   This class implements the public interface of the TDS Tools.
+   It returns a vector of PadTrigger.
+
+   The design of this class is based on the one of IPadTdsTool.
+
+   \todo
+   Note to self: Sandro's original design was to have an interface and
+   then an "Offline" and an "Online" tool. I don't know whether this
+   is still what we want...to be discussed.
+
+   davide.gerbaudo@gmail.com
+   Oct 2015
+*/
+
+class IPadTriggerLogicTool: public virtual IAlgTool {
+
+public:
+    virtual ~IPadTriggerLogicTool() {}
+
+    virtual StatusCode compute_pad_triggers(const std::vector<PadData*>& pads, std::vector<PadTrigger*> &triggers) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IPadTriggerLogicTool("NSWL1::IPadTriggerLogicTool", 1 ,0);
+        return IID_IPadTriggerLogicTool;
+    }
+}; // IPadTriggerLogicTool
+
+} // NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripClusterTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripClusterTool.h
new file mode 100644
index 00000000000..6cad9ac7b83
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripClusterTool.h
@@ -0,0 +1,49 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ISTRIPCLUSTERTOOL_H
+#define ISTRIPCLUSTERTOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+//local includes
+#include "TrigT1NSWSimTools/StripData.h"
+#include "TrigT1NSWSimTools/StripClusterData.h"
+#include <vector>
+class Identfier;
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+  class PadTrigger;
+
+  /**
+   *
+   *   @short interface for the Strip Cluster Tools
+   *
+   * This class implements the public interface of the Strip clustering Tools.
+   * It Current unclear what it will output to input the StripTrigger simulation.
+   *
+   *  @author Jacob Searcy <jsearcy@umich.edu>
+   *
+   *
+   */
+
+
+  class IStripClusterTool: public virtual IAlgTool {
+
+  public:
+    virtual ~IStripClusterTool() {}
+
+    virtual StatusCode cluster_strip_data(std::vector<StripData*>& strips,std::vector< NSWL1::StripClusterData * >& clusters) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IStripClusterTool("NSWL1::IStripClusterTool", 1 ,0);
+        return IID_IStripClusterTool;
+    }
+
+  };  // end of IStripClusterTools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripSegmentTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripSegmentTool.h
new file mode 100644
index 00000000000..fc620f37a97
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripSegmentTool.h
@@ -0,0 +1,47 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ISTRIPSEGMENTTOOL_H
+#define ISTRIPSEGMENTTOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+
+//local includes
+#include "TrigT1NSWSimTools/StripClusterData.h"
+#include <vector>
+class Identfier;
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+  /**
+   *
+   *   @short interface for the Strip Cluster Tools
+   *
+   * This class implements the public interface of the Strip Segmentfinding tool Tools.
+   * It Current unclear what it will output to input the StripTrigger simulation.
+   *
+   *  @author Jacob Searcy <jsearcy@umich.edu>
+   *
+   *
+   */
+
+
+  class IStripSegmentTool: public virtual IAlgTool {
+
+  public:
+    virtual ~IStripSegmentTool() {}
+
+    virtual StatusCode find_segments(std::vector< StripClusterData* >& clusters) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IStripSegmentTool("NSWL1::IStripSegmentTool", 1 ,0);
+        return IID_IStripSegmentTool;
+    }
+
+  };  // end of IStripSegmentTools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripTdsTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripTdsTool.h
new file mode 100644
index 00000000000..281cdca7f5c
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/IStripTdsTool.h
@@ -0,0 +1,49 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef ISTRIPTDSTOOL_H
+#define ISTRIPTDSTOOL_H
+
+//basic includes
+#include "GaudiKernel/IAlgTool.h"
+
+//local includes
+#include "TrigT1NSWSimTools/StripData.h"
+#include "TrigT1NSWSimTools/PadTrigger.h"
+#include <vector>
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short interface for the StripTDS tools
+   *
+   * This class implements the public interface of the TDS Tools.
+   * It returns a vector of StripData to input the StripTrigger simulation.
+   *
+   *  @author Jacob Searcy <jsearcy@umich.edu>
+   *
+   *
+   */
+
+
+  class IStripTdsTool: public virtual IAlgTool {
+
+  public:
+    virtual ~IStripTdsTool() {}
+
+    virtual StatusCode gather_strip_data(std::vector<StripData*>& strips, std::vector<NSWL1::PadTrigger*>& padTriggers) = 0;
+
+    static const InterfaceID& interfaceID() {
+        static const InterfaceID IID_IStripTdsTool("NSWL1::IStripTdsTool", 1 ,0);
+        return IID_IStripTdsTool;
+    }
+
+  };  // end of IStripTdsTools class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMCandidateData.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMCandidateData.h
new file mode 100644
index 00000000000..24cb42dd655
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMCandidateData.h
@@ -0,0 +1,54 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMCANDIDATEDATA_H
+#define MMCANDIDATEDATA_H
+
+
+// local includes
+#include <stdint.h>
+#include <ostream>
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short abstract class to interface the data describing the MM trigger candidatei; to be delivered to the trigger sector logic
+   *
+   * This class contains pure virtual methods to be implemented by the derived classes.
+   * These latters implement the offline and online version of this data fragment.
+   *
+   *  @authors Alessandro Di Mattia <dimattia@cern.ch>, Ourania Sidiropoulou <osidirop@cern.ch>
+   *
+   *
+   */
+
+  class MMCandidateData {
+
+  public:
+    MMCandidateData();
+    virtual ~MMCandidateData();
+
+    //! methods for retrieving the bare data
+    virtual uint32_t id()     const = 0; //!< get the 32 bit word identifing the fragment
+
+    virtual int trig_BCID()   const = 0;
+
+    //! helper  methods decoding the trigger candiate fragment delivered by the FPGA trigger logic for the NSW detector
+    virtual float deltaTheta()  const = 0; //!< Delta Theta measurement: defines a prompt track if found within the trigger threshold
+    virtual float eta()         const = 0; //!< Eta position of the prompt track candidate
+    virtual float etaSigma()    const = 0; //!< Sigma of the Eta position of the prompt track candidate
+    virtual float phi()         const = 0; //!< Phi position of the prompt track candidate
+    virtual float phiSigma()    const = 0; //!< Sigma of the Phi position of the prompt track candidate
+
+  };  // end of MMCandidateData class
+
+  inline MMCandidateData::MMCandidateData() {}
+
+  inline MMCandidateData::~MMCandidateData() {}
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMStripData.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMStripData.h
new file mode 100644
index 00000000000..455192c8abf
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMStripData.h
@@ -0,0 +1,56 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMSTRIPDATA_H
+#define MMSTRIPDATA_H
+
+
+// local includes
+#include <stdint.h>
+#include <ostream>
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short abstract class to interface the data hit fragment output from the MM Strip TDS
+   *
+   * This class contains pure virtual methods to be implemented by the derived classes.
+   * These latters implement the offline and online version of this data fragment.
+   *
+   *  @authors Alessandro Di Mattia <dimattia@cern.ch>, Geraldine Conti <geraldine.conti@cern.ch>
+   *
+   *
+   */
+
+  class MMStripData {
+
+  public:
+    MMStripData();
+    virtual ~MMStripData();
+
+    //! methods for retrieving the bare data
+    virtual uint32_t id()        const = 0; //!< get the 32 bit word identifing the fragment
+
+    //virtual float setStripCharge() const = 0; //!< get the strip charge
+    virtual int trig_BCID()      const = 0;
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    virtual int sideId()      const = 0;    //!< get the side (0==sideC, 1==sideA)
+    virtual int moduleId()    const = 0;    //!< get the physics module (ranging from 0 at lowest R to 1 at highest R)
+    virtual int sectorId()    const = 0;    //!< get the sector    (ranging from 0 to 15)
+    virtual int multipletId() const = 0;    //!< get the multiplet (ranging from 0 to 1, 1 is at lowest |z|)
+    virtual int gasGapId()    const = 0;    //!< get the gas gap   (ranging from 0 to 3, 1 is at lowest |z|)
+    virtual int channelId()   const = 0;    //!< get the channel
+
+  };  // end of StripData class
+
+  inline MMStripData::MMStripData() {}
+
+  inline MMStripData::~MMStripData() {}
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadData.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadData.h
new file mode 100644
index 00000000000..0ad0289d164
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadData.h
@@ -0,0 +1,61 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef PADDATA_H
+#define PADDATA_H
+
+
+// local includes
+#include <stdint.h>
+#include <ostream>
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short abstract class to interface the data hit fragment output from the Pad TDS
+   *
+   * This class contains pure virtual methods to be implemented by the derived classes.
+   * These latters implement the offline and online version of this data fragment.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *          Alaettin Serhan Mete <amete@cern.ch>
+   *
+   */
+
+  class PadData {
+
+  public:
+    PadData();
+    virtual ~PadData();
+
+    //! methods for retrieving the bare data
+    virtual uint32_t id()     const = 0;   //!< get the 32 bit word identifing the fragment
+    virtual uint16_t BC_Tag() const = 0;   //!< get the BC Tag
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    virtual int sideId()      const = 0;   //!< get the side            (0==sideC, 1==sideA)
+    virtual int moduleId()    const = 0;   //!< get the physics module  (ranging from 1 at lowest R to 3 at highest R)
+    virtual int sectorId()    const = 0;   //!< get the sector          (ranging from 1 to 8)
+    virtual int sectorType()  const = 0;   //!< get the sector type     (ranging from 0 to 1, Small and Large) 
+    virtual int multipletId() const = 0;   //!< get the multiplet       (ranging from 1 to 2, 1 is at lowest |z|)
+    virtual int gasGapId()    const = 0;   //!< get the gas gap         (ranging from 1 to 4, 1 is at lowest |z|)
+    virtual int channelId()   const = 0;   //!< get the channel
+    virtual int padEtaId()    const = 0;   //!< get the pad eta channel 
+    virtual int padPhiId()    const = 0;   //!< get the pad phi channel 
+
+  };  // end of PadData class
+
+  inline PadData::PadData() {}
+
+  inline PadData::~PadData() {}
+
+} // namespace NSWL1
+
+std::ostream& operator<<(std::ostream& stream, NSWL1::PadData& data);
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadTrigger.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadTrigger.h
new file mode 100644
index 00000000000..c11f198d02c
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/PadTrigger.h
@@ -0,0 +1,66 @@
+//  -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSWL1_PADDATA_H
+#define NSWL1_PADDATA_H
+
+#include "TrigT1NSWSimTools/TriggerTypes.h"
+#include <ostream>
+#include <vector>
+
+namespace NSWL1 {
+
+class PadData;
+
+/**
+   @brief Holder of the pad trigger information
+   
+   Stores info about the pads that were used to compute this trigger,
+   as well as the resulting trigger primitive.
+
+*/
+struct PadTrigger {
+    BandId_t m_bandid; ///< see bandId below
+    float m_eta;
+    float m_phi;
+    int   m_eta_id;
+    int   m_phi_id;
+    int   m_multiplet_id;
+    int   m_gasGap_id;
+    std::vector<std::vector<float>> m_pad_strip_info; // hack to match pads to strips until we fix the band id issue
+                                                      // m_pad_strip_info.size gives the number of pads in each PadTrigger
+                                                      // m_pad_strip_info[i][0] gives the multilayer id of the ith pad in this trigger
+                                                      // m_pad_strip_info[i][1] gives the gasgap id     of the ith pad in this trigger
+                                                      // m_pad_strip_info[i][2] gives the local min y   of the ith pad in this trigger
+                                                      // m_pad_strip_info[i][3] gives the local max y   of the ith pad in this trigger
+    
+    std::vector<const PadData*> m_pads; ///!< digits contributing to this trigger primitive
+    /**
+       for now computed as as SingleWedgePadTrigger::halfPadCoordinates().ieta
+       
+       \todo when we have an inner+outer candidate, will they get the same bandid?
+       Also do we need to cache it as a datamember?
+    */
+    PadTrigger() : m_bandid(0), m_eta(0), m_phi(0), m_eta_id(0), m_phi_id(0), m_multiplet_id(0), m_gasGap_id(0), m_pad_strip_info{{0.}} {}
+
+    BcTag_t bctag()     const;
+    int sideId()        const; ///! sideId of the first pad in the trigger
+    int sectorId()      const; ///! sectorId of the first pad in the trigger
+    BandId_t bandId()   const { return m_bandid; }
+    float eta()         const { return m_eta;    } ///! SectorTriggerCandidate eta center
+    float phi()         const { return m_phi;    } ///! SectorTriggerCandidate phi center 
+    float etaId()       const { return m_eta_id; } ///! SectorTriggerCandidate pad eta index 
+    float phiId()       const { return m_phi_id; } ///! SectorTriggerCandidate pad phi index
+    float multipletId() const { return m_multiplet_id; } ///! SectorTriggerCandidate pad multiplet index 
+    float gasGapId()    const { return m_gasGap_id;    } ///! SectorTriggerCandidate pad gasGap index
+};
+
+} // namespace NSWL1
+
+/// \todo
+// std::ostream& operator<<(std::ostream& stream, NSWL1::PadTrigger& pt);
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripClusterData.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripClusterData.h
new file mode 100644
index 00000000000..627ae8d39b7
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripClusterData.h
@@ -0,0 +1,59 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPCLUSTERDATA_H
+#define STRIPCLUSTERDATA_H
+
+
+// local includes
+#include <stdint.h>
+#include <ostream>
+
+
+class Identifier;
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short abstract class to interface the data hit fragment output from the Strip TDS
+   *
+   * This class contains pure virtual methods to be implemented by the derived classes.
+   * These latters implement the offline and online version of this data fragment.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *
+   *
+   */
+
+  class StripClusterData {
+
+  public:
+    StripClusterData();
+    virtual ~StripClusterData();
+
+    //! methods for retrieving the bare data
+    virtual int bandId()         const = 0; //!< get the band id
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    virtual int isSmall()      const = 0;    //!< get the side (0==sideC, 1==sideA)
+    virtual int moduleId()    const = 0;    //!< get the physics module (ranging from 0 at lowest R to 3 at highest R)
+    virtual int sectorId()    const = 0;    //!< get the sector (ranging from 0 to 15)
+    virtual int wedge() const = 0;    //!< get the multiplet (ranging from 0 to 1, 1 is at lowest |z|)
+    virtual int layer()    const = 0;    //!< get the gas gap (ranging from 0 to 3, 1 is at lowest |z|)
+    virtual int size()      const = 0;
+    virtual float charge() const = 0;
+    virtual float globX()   const = 0;    //!< global X pos
+    virtual float globY()   const = 0;    //!< global Y pos 
+    virtual float globZ()    const = 0;    //!< globzl Z pos 
+ 
+
+  };  // end of StripClusterData class
+
+  inline StripClusterData::StripClusterData() {}
+
+  inline StripClusterData::~StripClusterData() {}
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripData.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripData.h
new file mode 100644
index 00000000000..3d081d12cd9
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/StripData.h
@@ -0,0 +1,78 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPDATA_H
+#define STRIPDATA_H
+
+
+// local includes
+#include <stdint.h>
+#include <ostream>
+
+
+class Identifier;
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short abstract class to interface the data hit fragment output from the Strip TDS
+   *
+   * This class contains pure virtual methods to be implemented by the derived classes.
+   * These latters implement the offline and online version of this data fragment.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *
+   *
+   */
+
+  class StripData {
+
+  public:
+    StripData();
+    virtual ~StripData();
+
+    //! methods for retrieving the bare data
+    virtual uint32_t id()        const = 0; //!< get the 32 bit word identifing the fragment
+    virtual Identifier Identity()  const = 0; //!< get the 32 bit word identifing the fragment
+    virtual int trig_BCID()      const = 0; //!< get the trigger BCID
+    virtual float strip_charge() const = 0; //!< get the strip charge
+    virtual int strip_charge_6bit() const = 0; //!< get the strip charge in 6 bit
+    virtual int strip_charge_10bit() const = 0; //!< get the strip charge in 10 bit
+    virtual int bandId()         const = 0; //!< get the band id
+    virtual void setBandId(int band_id)= 0; //!< get the band id
+    virtual int phiId()          const = 0; //!< get the phi id
+    virtual bool readStrip()   const = 0;
+    virtual void set_readStrip(bool readStrip) = 0;
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    virtual int sideId()      const = 0;    //!< get the side (0==sideC, 1==sideA)
+    virtual int isSmall()      const = 0;    //!< get the side (0==sideC, 1==sideA)
+    virtual int moduleId()    const = 0;    //!< get the physics module (ranging from 0 at lowest R to 3 at highest R)
+    virtual int sectorId()    const = 0;    //!< get the sector (ranging from 0 to 15)
+    virtual int wedge() const = 0;    //!< get the multiplet (ranging from 0 to 1, 1 is at lowest |z|)
+    virtual int layer()    const = 0;    //!< get the gas gap (ranging from 0 to 3, 1 is at lowest |z|)
+    virtual int channelId()   const = 0;    //!< get the channel
+
+    virtual char type()    const = 0;
+    virtual std::string stationName() const = 0;
+    // for checking BC
+    virtual float time()    const = 0;    //!< global X pos
+    //! Use this for clustering
+    virtual float globX()    const = 0;    //!< global X pos
+    virtual float globY()    const = 0;    //!< global Y pos 
+    virtual float globZ()    const = 0;    //!< globzl Z pos 
+    virtual float locX()    const = 0;    //!< local X pos
+    virtual float locY()    const = 0;    //!< local Y pos 
+    virtual float locZ()    const = 0;    //!< local Z pos 
+
+
+  };  // end of StripData class
+
+  inline StripData::StripData() {}
+
+  inline StripData::~StripData() {}
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/TriggerTypes.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/TriggerTypes.h
new file mode 100644
index 00000000000..aff38d72d10
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/TriggerTypes.h
@@ -0,0 +1,28 @@
+//  -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSWL1_TRIGGERTYPES_H
+#define NSWL1_TRIGGERTYPES_H
+
+#include <stdint.h>
+
+namespace NSWL1 {
+
+
+/** @defgroup TriggerTypes
+ *  Define a few types to be used in the NSWL1 trigger simulation
+ *  @{
+ */
+
+/// bunch crossing tag
+typedef uint16_t BcTag_t;
+/// strip band id
+typedef uint16_t BandId_t;
+
+/** @} */ // end of group1
+
+} // NSWL1
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/scripts/drawFromPickle.py b/Trigger/TrigT1/TrigT1NSWSimTools/scripts/drawFromPickle.py
new file mode 100755
index 00000000000..d4c6e12aa6b
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/scripts/drawFromPickle.py
@@ -0,0 +1,310 @@
+#!/bin/env python
+
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+# Draw the triggers that have been written to a txt file as a dictionary.
+#
+# See PadWithHits.h for a description of the 'simplified' pickle mechanism.
+# See the 'pickle()' method of each (cpp) class for a list of the attributed being stored.
+#
+# davide.gerbaudo@gmail.com
+# April 2013
+# 
+# Imported from https://svnweb.cern.ch/trac/atlasusr/browser/ataffard/UpgradeNSW/NSWAna/NSWNtuple/trunk/python/drawFromPickle.py
+# By Alaettin Serhan Mete (amete@cern.ch) in April 2016
+
+import math
+import os
+import sys
+import ROOT as r
+r.gROOT.SetBatch(1)
+r.PyConfig.IgnoreCommandLineOptions = True
+r.gStyle.SetPadTickX(1)
+r.gStyle.SetPadTickY(1)
+
+
+#_________________________________________________
+# define some units, constants, and aliases
+mm = 1.0
+cm = 10.
+cm2mm = 10.
+mm2cm = 0.1
+repv = r.Math.RhoEtaPhiVector
+xyzv = r.Math.XYZVector
+#_________________________________________________
+sectorDphi = 2.0*math.pi/16.
+sin, cos, tan, atan, exp = math.sin, math.cos, math.tan, math.atan, math.exp
+def midSectorPhi(sec) : return (sec-1)*sectorDphi # sector N starts from 1
+def average(lst) : return sum(lst)/len(lst)
+def eta2theta(eta) : return 2.0*atan(exp(-eta))
+def xyFromEtaPhiZ(eta, phi, z) :
+    theta = eta2theta(eta)
+    r = z*tan(theta)
+    return r*cos(phi), r*sin(phi)
+def tuple2vec(tpl) : return xyzv(tpl[0], tpl[1], tpl[2])
+#_________________________________________________
+class BaseClassFromDict(object) :
+    """
+    Use the kargs trick to set all the attributes except the ones
+    that are my classes, and not basic types. See for example:
+    http://stackoverflow.com/questions/1098549/proper-way-to-use-kwargs-in-python
+    """
+    def __init__(self, **kargs) :
+        for k,v in kargs.iteritems() : setattr(self, k, v)
+#_________________________________________________
+class PadWithHits(BaseClassFromDict) :
+    def __init__(self, **kargs) :
+        super(PadWithHits, self).__init__(**kargs)
+        self.cornerXyz    = [tuple2vec(t) for t in self.cornerXyz] # convert (x,y,z) tuple to vector
+        self.avgChargeXyz = self.determineAvgChargeXyz()
+        self.rotatedCornerXyz    = [self.rotateVecToSec5(v) for v in self.cornerXyz]
+        self.rotatedAvgChargeXyz = self.rotateVecToSec5(self.avgChargeXyz)
+        self.minX,   self.maxX   = self.determineXminmax()
+        self.minY,   self.maxY   = self.determineYminmax()
+        self.minZ,   self.maxZ   = self.determineZminmax()
+        self.minH,   self.maxH   = self.determineHminmax()
+        self.minPhi, self.maxPhi = self.determinePhiminmax()
+        def color(layer) : return [r.kBlack, r.kRed, r.kBlue, r.kViolet, r.kGreen][layer]
+        def width(isPivot) : return 2 if isPivot else 1
+        self.lineColor = color(self.layer)
+        self.lineWidth = width(self.isPivot())
+    def setFont(self, font) : self.font = font
+    def isPivot(self) : return self.multiplet in [0,2] # ASM 28/04/2016 : Check that this is correct
+    def rotateVecToSec5(self, vec) :
+        "Rotate a vector to sector5 coordinates (note: delta phi depends only on the sector)"
+        deltaPhi = midSectorPhi(self.sector) - midSectorPhi(5)
+        return repv(vec.rho(), vec.eta(), vec.phi()).SetPhi(vec.phi() - deltaPhi)
+    def determineAvgChargeXyz(self) :
+        z = average([p.z() for p in self.cornerXyz]) # although the corners should be at the same z...
+        x, y = xyFromEtaPhiZ(self.avgEta, self.avgPhi, z)
+        return xyzv(x, y, z)
+    def determineXminmax(self):
+        xs = [p.x() for p in self.cornerXyz]
+        return min(xs), max(xs)
+    def determineYminmax(self):
+        ys = [p.y() for p in self.cornerXyz]
+        return min(ys), max(ys)
+    def determineZminmax(self):
+        zs = [p.z() for p in self.cornerXyz]
+        return min(zs), max(zs)
+    def determinePhiminmax(self):
+        phis = [p.phi() for p in self.cornerXyz]
+        return min(phis), max(phis)
+    def determineHminmax(self): return self.loHei, self.hiHei
+    def draw(self, view='yx') :
+        self.drawEdges(self.lineColor, self.lineWidth, view)
+        self.drawCharge(self.lineColor, view)
+    def drawEdges(self, color, width, view='yx') :
+        lineColor = color
+        lineWidth = width
+        corners = self.rotatedCornerXyz if view=='hz' else self.cornerXyz
+        segments, lines = [], []
+         # see Pad::fillCornerCoords to remember which corner is where
+        if   view=='yx'   : segments = [(corners[i], corners[j]) for i,j in [(0, 1), (1, 3), (2, 3), (0, 2)]]
+        elif view=='hz'   : segments = [(corners[i], corners[j]) for i,j in [(0, 1)]]
+        elif view=='zphi' : segments = [(corners[i], corners[j]) for i,j in [(0, 2)]]
+        l = r.TLine
+        if   view=='yx'   : lines = [l(p1.x(),   p1.y(), p2.x(),   p2.y()) for p1,p2 in segments]
+        elif view=='hz'   : lines = [l(p1.z(),   p1.y(), p2.z(),   p2.y()) for p1,p2 in segments]
+        elif view=='zphi' : lines = [l(p1.phi(), p1.z(), p2.phi(), p2.z()) for p1,p2 in segments]
+        for l in lines :
+            l.SetLineColor(lineColor)
+            l.SetLineWidth(lineWidth)
+            l.Draw()
+        if hasattr(self, '_lines') : self._lines.append(lines)
+        else : self._lines = lines
+        self.printPadCoord(view, lines[0])
+    def printPadCoord(self, view, line) :
+        if view not in ['hz','zphi'] : return
+        coord = {'hz':'ieta', 'zphi':'iphi'}[view]
+        leftOrRight = self.layer%2
+        angle = 90. if view=='hz' else 0.
+        xs = sorted([line.GetX1(), line.GetX2()], reverse=leftOrRight)
+        ys = sorted([line.GetY1(), line.GetY2()], reverse=leftOrRight)
+        def outside(xx) : return xx[1] + 0.75*(xx[1]-xx[0])
+        x = average(xs) if view=='hz'   else outside(xs)
+        y = average(ys) if view=='zphi' else outside(ys)
+        text = r.TLatex(x, y, "%d" % getattr(self, coord))
+        text.SetTextAlign(22)
+        text.SetTextAngle(angle)
+        text.SetTextColor(line.GetLineColor())
+        if hasattr(self, 'font') : text.SetTextFont(self.font)
+        text.Draw()
+        if hasattr(self, '_labels') : self._labels.append(text)
+        else : self._labels = [text]
+    def drawCharge(self, color, view='yx') :
+        v = self.rotatedAvgChargeXyz if view=='hz' else self.avgChargeXyz
+        x, y = 0., 0.
+        if   view=='yx'   : x, y = v.x(),   v.y()
+        elif view=='hz'   : x, y = v.z(),   v.y()
+        elif view=='zphi' : x, y = v.phi(), v.z()
+        marker = r.TMarker(x, y, r.kMultiply)
+        marker.SetMarkerColor(color)
+        marker.Draw()
+        if hasattr(self, '_markers') : self._markers.append(marker)
+        else : self._markers = [marker]
+        def drawCloud() : print 'drawCloud not implemented yet'
+        if len(self.hitIndices)>1 : drawCloud()
+    
+#_________________________________________________
+class SingleWedgePadTrigger(BaseClassFromDict) :
+    def __init__(self, pads=[], **kargs) :
+        self.pads = [PadWithHits(**ka) for ka in pads]
+        super(SingleWedgePadTrigger, self).__init__(**kargs)
+    def setFont(self, font) :
+        self.font = font
+        for p in self.pads : p.setFont(font)
+    def isPivot(self) : return self.pads[0].isPivot()
+    def isConfirm(self) : return not self.isPivot()
+    def sector(self) : return self.pads[0].sector
+    def draw(self, view) :
+        for p in self.pads : p.draw(view)
+    def minMaxPadPar(self, parNames=['',]) :
+        values = [getattr(p, pname) for p in self.pads for pname in parNames]
+        return min(values), max(values)
+    def minMaxPadX(self) : return self.minMaxPadPar(['minX','maxX'])
+    def minMaxPadY(self) : return self.minMaxPadPar(['minY','maxY'])
+    def minMaxPadZ(self) : return self.minMaxPadPar(['minZ','maxZ'])
+    def minMaxPadH(self) : return self.minMaxPadPar(['minH','maxH'])
+    def minMaxPadPhi(self) : return self.minMaxPadPar(['minPhi','maxPhi'])
+    def minMaxPadVar(self, var) :
+        if   var=='x'   : return self.minMaxPadX()
+        elif var=='y'   : return self.minMaxPadY()
+        elif var=='z'   : return self.minMaxPadZ()
+        elif var=='h'   : return self.minMaxPadH()
+        elif var=='phi' : return self.minMaxPadPhi()
+    def drawLabelsLeft(self, x, y, dy) :
+        text = r.TLatex( x, y, '')
+        text.SetNDC()        
+        if hasattr(self, 'font') : text.SetTextFont(self.font)        
+        if hasattr(self, '_labels') : self._labels.append(text)
+        else : self._labels = [text]
+        text.DrawLatex(x, y, "Sector %d"%self.sector())
+        y = y + dy
+        text.DrawLatex(x, y, (('Pivot' if self.isPivot() else '') +
+                              ('Confirm' if self.isConfirm() else '') +
+                              ", %d/4"%len(self.pads) +
+                              ' : '+self.pattern))
+        y = y + dy
+        ieta, iphi = self.halfPadIndices
+        text.DrawLatex(x, y, "Half-pad indices : (%d, %d)"%(ieta, iphi))
+        
+        return y+dy
+
+#_________________________________________________
+class SectorTriggerCandidate(BaseClassFromDict) :
+    def __init__(self, wedgeTrigs=[], **kargs) :
+        self.wedgeTrigs = [SingleWedgePadTrigger(**ka) for ka in wedgeTrigs]
+        super(SectorTriggerCandidate, self).__init__(**kargs)
+        self.possibleViews = ['yx', 'hz', 'zphi']
+        self.xVars = dict(zip(self.possibleViews, ['x', 'z', 'phi']))
+        self.yVars = dict(zip(self.possibleViews, ['y', 'h', 'z']  ))
+    def sector(self) : return self.wedgeTrigs[0].sector()
+    def setFont(self, font) :
+        self.font = font
+        for w in self.wedgeTrigs : w.setFont(font)
+    def adjustRanges(self, padMaster, view='yx'):
+        possibleViews = self.possibleViews
+        xVar, yVar = self.xVars[view], self.yVars[view]
+        marginX = dict(zip(possibleViews, [20*cm, 20*cm, math.pi/32]))[view]
+        marginY = dict(zip(possibleViews, [10*cm, 20*cm, 10*cm]     ))[view]
+        xMin, xMax = self.minMaxPadVar(xVar)
+        yMin, yMax = self.minMaxPadVar(yVar)
+        xMin, xMax =  xMin-marginX, xMax+marginX
+        yMin, yMax = yMin-marginY, yMax+marginY
+        self.xyRanges = ((xMin, xMax), (yMin, yMax))
+        padMaster.GetXaxis().SetRangeUser(xMin, xMax)
+        padMaster.GetYaxis().SetRangeUser(yMin, yMax)
+        self.setFont(padMaster.GetTitleFont())
+    def draw(self, padMaster, view='yx', onlyPivot=False, onlyConfirm=False) :
+        possibleViews = self.possibleViews
+        assert view in possibleViews, "Invalid view %s"%view
+        xVar = dict(zip(possibleViews, ['x', 'z', 'phi']))[view]
+        yVar = dict(zip(possibleViews, ['y', 'h', 'z']  ))[view]
+        gridX = dict(zip(possibleViews, [0, 0, 1]  ))[view]
+        gridY = dict(zip(possibleViews, [0, 1, 0]  ))[view]
+        padMaster.Draw()
+        r.gPad.SetGridx(gridX)
+        r.gPad.SetGridy(gridY)
+        wedgeTrigs = [w for w in self.wedgeTrigs if (not (onlyConfirm or onlyPivot) or
+                                                     (onlyConfirm and w.isConfirm()) or
+                                                     (onlyPivot and w.isPivot()))]
+        for w in wedgeTrigs : w.draw(view)
+        self.drawLabels(view, padMaster, wedgeTrigs)
+        if view=='yx' : self.drawSectorPostmark(self.xyRanges)
+    def minMaxPadVar(self, var) :
+        minMaxVals = [w.minMaxPadVar(var) for w in self.wedgeTrigs]
+        mins, maxs = [m[0] for m in minMaxVals], [m[1] for m in minMaxVals]
+        return min(mins), max(maxs)
+    def drawLabels(self, view, padMaster, wedgeTriggers) :
+        if view!='yx' : return
+        xMin, xMax = padMaster.GetXaxis().GetXmin(), padMaster.GetXaxis().GetXmax()
+        yMin, yMax = padMaster.GetYaxis().GetXmin(), padMaster.GetYaxis().GetXmax()
+        x, y, dy = 0.125, 0.85, -0.05
+        for w in wedgeTriggers : y = w.drawLabelsLeft(x, y, dy)
+    def drawSectorPostmark(self, xyRanges=((-1.0, +1.0), (-1.0, +1.0))) :
+        (xMin, xMax), (yMin, yMax) = xyRanges
+        def topTwelwthRange(vMin, vMax) : return vMax-(vMax-vMin)/12.0, vMax 
+        xMin, xMax = topTwelwthRange(xMin, xMax)
+        yMin, yMax = topTwelwthRange(yMin, yMax)
+        hdx, hdy = 0.5*(xMax-xMin), 0.5*(yMax-yMin)
+        R = math.sqrt(hdx*hdx +hdy*hdy)
+        midPhi = midSectorPhi(self.sector())
+        minPhi, maxPhi = math.degrees(midPhi-0.5*sectorDphi), math.degrees(midPhi+0.5*sectorDphi)
+        circle = r.TEllipse(0.5*(xMin+xMax), 0.5*(yMin+yMax), R, R)
+        circle.SetLineColor(r.kBlack)
+        circle.SetFillStyle(0)
+        circle.Draw()
+        slice = r.TCrown(0.5*(xMin+xMax), 0.5*(yMin+yMax), 0.2*R, 1.0*R, minPhi, maxPhi)
+        slice.SetFillColor(r.kBlack)
+        slice.SetFillStyle(1001)
+        slice.Draw()
+        if hasattr(self, '_markers') : self._markers.append(slice)
+        else : self._markers = [slice]
+        self._markers.append(circle)
+
+#_________________________________________________
+
+if __name__=='__main__' :
+    # expect a list of candidates in the file
+    filename = sys.argv[1]
+    candidates = eval(open(filename).read())
+    outputBaseName = os.path.splitext(filename)[0]
+    print "found %d sector trigger candidates"%len(candidates)
+    xRangeMin, xRangeMax = -500*cm, +500*cm
+    yRangeMin, yRangeMax = -500*cm, +500*cm
+    zRangeMin, zRangeMax = -800*cm, +800*cm
+    hRangeMin, hRangeMax =    0*cm, yRangeMax
+    phiRangeMin, phiRangeMax = -2*math.pi, +2*math.pi
+    padMasterYx   = r.TH2F('padMasterYx',  ';x [mm];   y [mm]', 200, xRangeMin, xRangeMax,     200, yRangeMin, yRangeMax)
+    padMasterHz   = r.TH2F('padMasterHz',  ';z [mm];   h [mm]', 200, zRangeMin, zRangeMax,     200, hRangeMin, hRangeMax)
+    padMasterZphi = r.TH2F('padMasterZphi',';phi [rad];z [mm]', 200, phiRangeMin, phiRangeMax, 200, zRangeMin, zRangeMax)
+    can = r.TCanvas('can')
+    def formatPadMaster(h) :
+        h.SetStats(0)
+        h.GetXaxis().CenterTitle()
+        h.GetYaxis().CenterTitle()
+    for h in [padMasterYx, padMasterHz, padMasterZphi] : formatPadMaster(h)
+    for i,c in enumerate(candidates) :
+        sCan = SectorTriggerCandidate(**c)
+        can.Clear()
+        can.Divide(2, 2)
+
+        can.cd(1)
+        view, padMaster ='zphi', padMasterZphi
+        sCan.adjustRanges(padMaster, view)
+        sCan.draw(padMaster, view)
+
+        can.cd(2)
+        view, padMaster = 'hz', padMasterHz
+        sCan.adjustRanges(padMaster, view)
+        sCan.draw(padMaster, view)
+
+        view, padMaster = 'yx', padMasterYx
+        sCan.adjustRanges(padMaster, view)
+        can.cd(3)
+        sCan.draw(padMaster, view, onlyPivot=True)
+        can.cd(4)
+        sCan.draw(padMaster, view, onlyConfirm=True)
+
+        can.SaveAs("%s_%03d.png"%(outputBaseName, i))
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/share/L1TdrStgcTriggerLogic_test.ref b/Trigger/TrigT1/TrigT1NSWSimTools/share/L1TdrStgcTriggerLogic_test.ref
new file mode 100644
index 00000000000..058cf7b6d11
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/share/L1TdrStgcTriggerLogic_test.ref
@@ -0,0 +1,16 @@
+running L1TdrStgcTriggerLogic__test
+ checking for redundancies of [[0,1,2,3]]
+	 against  [[1,2,3]] --> drop
+	 against  [[0,2,3]] --> drop
+	 against  [[0,1,3]] --> drop
+	 against  [[0,1,2]] --> drop
+ checking for redundancies of [[4,5,6,7]]
+	 against  [[5,6,7]] --> drop
+	 against  [[4,6,7]] --> drop
+	 against  [[4,5,7]] --> drop
+	 against  [[4,5,6]] --> drop
+SingleWedge triggers : pivot : 0(3/4) 1(4/4) conf  : 0(3/4) 1(4/4)
+areConsistent ? yes : inner (2, 4), outer (2, 4)(mismatchEta|mismatchPhi) = (0 | 0)
+found 1 triggerCandidates from 8 pads
+trigger region : eta [0, 1.08605e+24], phi [0, 0] deltaR inner/outer : 0
+got 0 triggers from generate_8_pads_aligned
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/share/PadTriggerLogicOfflineTool_test.ref b/Trigger/TrigT1/TrigT1NSWSimTools/share/PadTriggerLogicOfflineTool_test.ref
new file mode 100644
index 00000000000..c94640d7f73
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/share/PadTriggerLogicOfflineTool_test.ref
@@ -0,0 +1,2 @@
+running PadTriggerLogicOfflineTool_test
+got 1 triggers from generate_4_pads_aligned
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.cxx
new file mode 100644
index 00000000000..ccdae1ed7cb
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.cxx
@@ -0,0 +1,106 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "EtaPhiRectangle.h"
+
+#include <cmath> // M_PI
+// #include <algorithm>
+// #include <iostream>
+// #include <fstream>
+
+
+using nsw::EtaPhiRectangle;
+
+EtaPhiRectangle::EtaPhiRectangle(const double &etaMin, const double &etaMax,
+                                 const double &phiMin, const double &phiMax){
+  etaMin_ = etaMin;
+  etaMax_ = etaMax;
+  phiMin_ = phiMin;
+  phiMax_ = phiMax;
+  wrapsAroundPi_ = std::abs(phiMax_-phiMin_) > M_PI;
+  computeCenterCoord();
+}
+//--------------------------------------------------------------
+bool EtaPhiRectangle::contains(const EtaPhiPoint &point) const {
+  return ((fabs(point.first - etaCen_) < etaHw_)
+          && fabs(phi_mpi_pi(point.second - phiCen_)) < phiHw_);
+}
+//--------------------------------------------------------------
+void EtaPhiRectangle::computeCenterCoord(){
+  etaCen_ = 0.5*(etaMin_ + etaMax_);
+  // this takes care of the 2pi wrap
+  phiCen_ = atan2(sin(phiMin_) + sin(phiMax_),
+                  cos(phiMin_) + cos(phiMax_));
+  etaHw_ = 0.5*fabs(etaMax_ - etaMin_);
+  phiHw_ = 0.5*fabs(phi_mpi_pi(phiMax_ - phiMin_));
+}
+//--------------------------------------------------------------
+double EtaPhiRectangle::phi_mpi_pi(const double &val) {
+  double value(val);
+  while(value <= -M_PI) value += 2.*M_PI;
+  while(value >  +M_PI) value -= 2.*M_PI;
+  return value;
+}
+//--------------------------------------------------------------
+double EtaPhiRectangle::phi_zero_2pi(const double &val) {
+  double value(val);
+  while(value <= 0.     ) value += 2.*M_PI;
+  while(value >  2.*M_PI) value -= 2.*M_PI;
+  return value;
+}
+//--------------------------------------------------------------
+double EtaPhiRectangle::overlappingArea(const EtaPhiRectangle &lhs,
+                                        const EtaPhiRectangle &rhs) {
+  return overlappingRectangle(lhs, rhs).area();
+}
+//--------------------------------------------------------------
+EtaPhiRectangle EtaPhiRectangle::overlappingRectangle(const EtaPhiRectangle &lhs,
+                                                      const EtaPhiRectangle &rhs) {
+  //ASM-2017-07-10
+  //ASM-2017-07-10
+  //ASM-2017-07-10
+  //double etaOverlap(0.), phiOverlap(0.);
+  //double deltaEta12(fabs(lhs.eta() - rhs.eta()));
+  //double totHalfEtaWidth(lhs.etaHalfWidth() + rhs.etaHalfWidth());
+  //double deltaPhi12(fabs(phi_mpi_pi(lhs.phi() - rhs.phi())));
+  //double totHalfPhiWidth(lhs.phiHalfWidth() + rhs.phiHalfWidth());
+  //if (deltaEta12 < totHalfEtaWidth) etaOverlap = totHalfEtaWidth - deltaEta12;
+  //if (deltaPhi12 < totHalfPhiWidth) phiOverlap = totHalfPhiWidth - deltaPhi12;
+  //double etaAvg(0.5*(lhs.eta() + rhs.eta()));
+  //double phiAvg(atan2(sin(lhs.phi()) + sin(rhs.phi()),
+  //                    cos(lhs.phi()) + cos(rhs.phi())));
+
+  //return EtaPhiRectangle(etaAvg-0.5*etaOverlap, etaAvg+0.5*etaOverlap,
+  //                       phiAvg-0.5*phiOverlap, phiAvg+0.5*phiOverlap);
+  double eta_max_low  = std::max(lhs.etaMin(), rhs.etaMin());
+  double eta_min_high = std::min(lhs.etaMax(), rhs.etaMax());
+  double phi_max_low  = std::max(lhs.phiMin(), rhs.phiMin());
+  double phi_min_high = std::min(lhs.phiMax(), rhs.phiMax());
+
+  // Find the intersection
+  double deta = fabs(eta_min_high - eta_max_low);
+  double dphi = fabs(phi_mpi_pi(phi_min_high - phi_max_low));
+  double result_eta_min = deta*dphi > 0. ? eta_max_low : 0.;
+  double result_eta_max = deta*dphi > 0. ? eta_max_low + deta : 0.;
+  double result_phi_min = deta*dphi > 0. ? phi_max_low : 0.;
+  double result_phi_max = deta*dphi > 0. ? phi_mpi_pi(phi_max_low + dphi) : 0.;
+
+  return EtaPhiRectangle(result_eta_min, result_eta_max,
+                         result_phi_min, result_phi_max);
+  //ASM-2017-07-10
+  //ASM-2017-07-10
+  //ASM-2017-07-10
+}
+
+//--------------------------------------------------------------
+void EtaPhiRectangle::print(std::ostream& stream) const {
+  stream<<"eta ["<<etaMin_<<", "<<etaMax_<<"], phi ["<<phiMin_<<", "<<phiMax_<<"]";
+}
+//--------------------------------------------------------------
+namespace nsw {
+  std::ostream& operator<< (std::ostream& stream, const EtaPhiRectangle &epr) {
+    epr.print(stream);
+    return stream;
+  }
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.h
new file mode 100644
index 00000000000..0fd60105d63
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/EtaPhiRectangle.h
@@ -0,0 +1,89 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef NSW_ETAPHIRECTANGLE_H
+#define NSW_ETAPHIRECTANGLE_H
+
+#include <ostream>
+
+namespace nsw {
+
+  /*! \brief A class describing a rectangle in \eta , \phi
+   *
+   * An EtaPhiRectangle object can be used to keep track of a rectangle
+   * in these coordinates. It is meant to be a simple object that takes
+   * care of the 2\pi ambigiuties and that can perform simple operations
+   * such as compute the overlap between two rectangles.  While the
+   * minimum and maximum \phi values can be provided in any range,
+   * internally all \phi angles are stored and handled within
+   * (-\pi,+\pi].
+   * Maybe at some point you could use TVector2.h (but they store x,y) or gsl::polar.
+   *
+   * davide.gerbaudo@gmail.com, 2012
+   */
+
+  //! \todo should probably define an EtaPhiPair instead of EtaPhiPoint...and use it everywhere
+  typedef std::pair< double, double > EtaPhiPoint;
+  //----------------------------------------------------------
+  class EtaPhiRectangle{
+  public:
+    EtaPhiRectangle():
+      etaMin_(0.), etaMax_(0.), etaCen_(0.), etaHw_(0.),
+      phiMin_(0.), phiMax_(0.), phiCen_(0.), phiHw_(0.),
+      wrapsAroundPi_(false) {};
+
+      EtaPhiRectangle(const double &etaMin, const double &etaMax,
+                      const double &phiMin, const double &phiMax);
+      double area() const { return 2.0*etaHw_*2.0*phiHw_; };
+      double eta() const { return etaCen_; };
+      double phi() const { return phiCen_; };
+      double etaMin() const { return etaMin_; };
+      double etaMax() const { return etaMax_; };
+      double phiMin() const { return phiMin_; };
+      double phiMax() const { return phiMax_; };
+      double etaHalfWidth() const {return etaHw_; };
+      double phiHalfWidth() const {return phiHw_; };
+      //! determine whether a given point in (\eta,\phi) is inside this EtaPhiRectangle
+      bool contains(const EtaPhiPoint &point) const;
+      //! same as above, but less safe agaist eta-phi swap
+      bool contains(const double &eta, const double &phi) const { return contains(std::make_pair(eta,phi));};
+      //! determine whether two rectangles overlap
+      static double overlappingArea(const EtaPhiRectangle &lhs,
+                                    const EtaPhiRectangle &rhs);
+      //! compute the rectangle corresponding to the overlapping area
+      static EtaPhiRectangle overlappingRectangle(const EtaPhiRectangle &lhs,
+                                                  const EtaPhiRectangle &rhs);
+      //! convert any angle to its equivalent in ( -\pi , +\pi ]
+      static double phi_mpi_pi(const double &val);
+      //! convert any angle to its equivalent in ( 0 , +2\pi ]
+      static double phi_zero_2pi(const double &val);
+      //! print the rectangle
+      void print(std::ostream& stream) const;
+
+  protected:
+      //! compute the location of the center of the rectangle
+      /*! In fact this method is initializing the internal representation
+        of the rectangle, with center, half width, etc.
+      */
+      void computeCenterCoord();
+  private:
+      double etaMin_; //!< minimum eta
+      double etaMax_; //!< maximum eta
+      double etaCen_; //!< central eta
+      double etaHw_;  //!< eta half width
+      double phiMin_; //!< minimum phi
+      double phiMax_; //!< maximum phi
+      double phiCen_; //!< central phi
+      double phiHw_;  //!< phi half width
+      bool wrapsAroundPi_; //!< whether the rectangle crosses over \phi = \pi
+  }; // end EtaPhiRectangle
+
+  std::ostream& operator<< (std::ostream& stream, const EtaPhiRectangle &epr);
+} // end namespace nsw
+
+#endif
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.cxx
new file mode 100644
index 00000000000..c8424b1cdbb
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.cxx
@@ -0,0 +1,709 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "L1TdrStgcTriggerLogic.h"
+
+#include "PadWithHits.h"
+#include "SingleWedgePadTrigger.h"
+#include "SectorTriggerCandidate.h"
+#include "tdr_compat_enum.h"
+#include "vector_utils.h"
+
+#include <vector>
+#include <iostream>
+#include <cassert>
+#include <cstdio>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <algorithm>
+#include <functional>
+#include "TMath.h"
+#include "TVector3.h"
+
+using namespace std;
+using namespace nsw;
+typedef L1TdrStgcTriggerLogic L1stl; // just to get shorter lines
+typedef SingleWedgePadTrigger Swpt;
+
+const double transitionEtaLow_S [3] = {1.43, 1.73, 2.07};
+const double transitionEtaHigh_S[3] = {1.54, 1.87, 2.37};
+const double transitionEtaLow_L [3] = {1.41, 1.67, 2.05};
+const double transitionEtaHigh_L[3] = {1.53, 1.82, 2.35};
+
+const int triggerLogicDbgLevel = 0;
+const double padTimingEfficiency = 0.95; // set to -1 to disable
+
+//-------------------------------------
+L1stl::L1TdrStgcTriggerLogic() :
+    m_verbose(false),
+    m_writePickle(false),
+    m_picklePrefix("./")
+{
+	rand.SetSeed(0);
+}
+//-------------------------------------
+L1stl::~L1TdrStgcTriggerLogic() {
+
+}
+//-------------------------------------
+bool L1stl::hitPattern(const nsw::Pad &firstPad, const nsw::Pad &otherPad, string &pattern, bool verbose = false)
+{
+  (void) verbose;
+  return L1stl::hitPattern(firstPad.ieta, firstPad.iphi, otherPad.ieta, otherPad.iphi, pattern);
+}
+//-------------------------------------
+bool L1stl::hitPattern(const int &iEta0, const int &iPhi0,
+                       const int &iEta1, const int &iPhi1,
+                       string &pattern)
+{
+  // A la ATL-MUON-INT-2014-003 =>>
+  //if(iPhi1 >= iPhi0 + 2 || iPhi1 < iPhi0) return false;
+  //if(iEta1 >= iEta0 + 2 || iEta1 < iEta0) return false;
+  //if(iPhi0 == iPhi1) pattern = (iEta0==iEta1 ? "11" : "21");
+  //else               pattern = (iEta0==iEta1 ? "12" : "22");
+  // <<== A la ATL-MUON-INT-2014-003
+  // New Logic - DeltaEtaDeltaPhi
+  if(iEta1 >= iEta0 + 2 || iEta1 <= iEta0 - 2) return false;
+  if(iPhi1 >= iPhi0 + 2 || iPhi1 <= iPhi0 - 2) return false;
+  // DeltaEta
+  if     (iEta1 == iEta0 - 1) pattern = "0"; 
+  else if(iEta1 == iEta0    ) pattern = "1";
+  else if(iEta1 == iEta0 + 1) pattern = "2";
+  // DeltaPhi
+  if     (iPhi1 == iPhi0 - 1) pattern.append("0"); 
+  else if(iPhi1 == iPhi0    ) pattern.append("1");
+  else if(iPhi1 == iPhi0 + 1) pattern.append("2");
+
+  return true;
+}
+//-------------------------------------
+nsw::vswptrig_t L1stl::buildSingleWedgeTriggers(const vpads_t &pads,
+                                                const vsize_t &padIndicesLayer0,
+                                                const vsize_t &padIndicesLayer1,
+                                                const vsize_t &padIndicesLayer2,
+                                                const vsize_t &padIndicesLayer3,
+                                                bool isLayer1, bool isLayer2,
+                                                bool isLayer3, bool isLayer4,
+                                                bool verbose)
+{
+    vswptrig_t triggers;
+
+    const vsize_t &hitIdxs0 = padIndicesLayer0;
+    const vsize_t &hitIdxs1 = padIndicesLayer1;
+    const vsize_t &hitIdxs2 = padIndicesLayer2;
+    const vsize_t &hitIdxs3 = padIndicesLayer3;
+    bool isL1(isLayer1), isL2(isLayer2), isL3(isLayer3), isL4(isLayer4);
+    // if(verbose)
+    //   cout<<" layer mask  ["<<isL1<<" "<< isL2 <<" "<<isL3<<" "<<isL4<<"]"
+    //       <<" nHits/layer "<<hitIdxs0.size()<<" "<<hitIdxs1.size()<<" "<<hitIdxs2.size()<<" "<<hitIdxs3.size()<<endl;
+    size_t nHL1 = (isL1 ? hitIdxs0.size() : 1);
+    size_t nHL2 = (isL2 ? hitIdxs1.size() : 1);
+    size_t nHL3 = (isL3 ? hitIdxs2.size() : 1);
+    size_t nHL4 = (isL4 ? hitIdxs3.size() : 1);
+    if(isL1 && nHL1 == 0) return triggers;
+    if(isL2 && nHL2 == 0) return triggers;
+    if(isL3 && nHL3 == 0) return triggers;
+    if(isL4 && nHL4 == 0) return triggers;
+    const vector<string> &allPatterns = sTGC_triggerPatterns();
+    int iL1st = -1; // first layer index
+    for(size_t il1=0; il1<nHL1; il1++) {
+      int l1Idx = -1; string sl1("33");
+      if(isL1){ l1Idx=hitIdxs0[il1]; sl1="11"; iL1st=l1Idx; } //if l1 is considered  its indices are always 11
+      for(size_t il2=0; il2<nHL2; il2++) {
+        int l2Idx = -1; string sl2("33");
+        if(isL2) {
+          l2Idx = hitIdxs1[il2];
+          if(iL1st == -1) { sl2 = "11"; iL1st = l2Idx; }  //l1 was not considered, l2 gets the first indices
+          else if(!hitPattern(pads[iL1st], pads[l2Idx], sl2, verbose)) continue;
+        } // end if(isL2)
+        for(size_t il3=0; il3<nHL3; il3++) {
+          int l3Idx = -1; string sl3("33");
+          if(isL3) {
+            l3Idx = hitIdxs2[il3];
+            if(!hitPattern(pads[iL1st], pads[l3Idx], sl3, verbose)) continue;
+          }
+          for(size_t il4=0; il4<nHL4; il4++) {
+            int l4Idx = -1; string sl4("33");
+            if(isL4) {
+              l4Idx = hitIdxs3[il4];
+              if(!hitPattern(pads[iL1st], pads[l4Idx], sl4, verbose)) continue;
+            }
+            // checked all layers, now store the trigger if it's a valid pattern
+            string pattern(sl4+sl3+sl2+sl1);
+            if(verbose) cout<<" pattern "<<pattern;
+            //look for the pattern in the LUT
+            if(std::find(allPatterns.begin(), allPatterns.end(), pattern)==allPatterns.end()){
+              if(verbose) cout <<" ---> NOT triggered" << endl ;
+              continue;
+            }
+            vsize_t padIndices;
+            // assert : gcc is fine with a negative size_t values; however, here we should detect
+            // buggy patterns (i.e. the index cannot be negative if isL_ is true).
+            if(isL1) { assert(l1Idx>-1); padIndices.push_back(l1Idx); }
+            if(isL2) { assert(l2Idx>-1); padIndices.push_back(l2Idx); }
+            if(isL3) { assert(l3Idx>-1); padIndices.push_back(l3Idx); }
+            if(isL4) { assert(l4Idx>-1); padIndices.push_back(l4Idx); }
+            triggers.push_back(SingleWedgePadTrigger(pattern, pads, padIndices));
+            //////////////////////////////////////////////////
+            // ASM-2017-06-21
+            // Don't build more than 5 SingleWedgePadTrigger
+            if (triggers.size()>4) {
+                cout << "STOP building SingleWedgeTriggers after reaching a total of 5 candidates!" << endl;
+                return triggers;
+            }
+            //////////////////////////////////////////////////
+          } // end for(il4)
+        } // end for(il3)
+      } // end for(il2)
+    } // end for(il1)
+    return triggers;
+}
+//-------------------------------------
+nsw::vsize_t L1stl::removeRandomPadIndices(const vsize_t &padIndices)
+{
+  vsize_t out;
+  out.reserve(padIndices.size());
+  for(size_t i=0; i<padIndices.size(); ++i){
+    if(rand.Uniform(1) < padTimingEfficiency) out.push_back(padIndices[i]);
+  }
+  return out;
+}
+//-------------------------------------
+nsw::vswptrig_t L1stl::build3of4SingleWedgeTriggers(const vpads_t &pads,
+                                                    const vsize_t &indicesL0,
+                                                    const vsize_t &indicesL1,
+                                                    const vsize_t &indicesL2,
+                                                    const vsize_t &indicesL3,
+                                                    bool verbose)
+{
+  const vsize_t &iL0=indicesL0, &iL1=indicesL1,&iL2=indicesL2, &iL3=indicesL3;
+  vswptrig_t trigNoL0(buildSingleWedgeTriggers(pads, iL0, iL1, iL2, iL3, false, true, true, true, verbose));
+  vswptrig_t trigNoL1(buildSingleWedgeTriggers(pads, iL0, iL1, iL2, iL3, true, false, true, true, verbose));
+  vswptrig_t trigNoL2(buildSingleWedgeTriggers(pads, iL0, iL1, iL2, iL3, true, true, false, true, verbose));
+  vswptrig_t trigNoL3(buildSingleWedgeTriggers(pads, iL0, iL1, iL2, iL3, true, true, true, false, verbose));
+  vswptrig_t triggers;
+  triggers.insert(triggers.end(), trigNoL0.begin(), trigNoL0.end());
+  triggers.insert(triggers.end(), trigNoL1.begin(), trigNoL1.end());
+  triggers.insert(triggers.end(), trigNoL2.begin(), trigNoL2.end());
+  triggers.insert(triggers.end(), trigNoL3.begin(), trigNoL3.end());
+  return triggers;
+}
+nsw::vswptrig_t L1stl::build4of4SingleWedgeTriggers(const vpads_t &pads,
+                                                    const vsize_t &indicesL0,
+                                                    const vsize_t &indicesL1,
+                                                    const vsize_t &indicesL2,
+                                                    const vsize_t &indicesL3,
+                                                    bool verbose)
+{
+  const vsize_t &iL0=indicesL0, &iL1=indicesL1,&iL2=indicesL2, &iL3=indicesL3;
+  return buildSingleWedgeTriggers(pads, iL0, iL1, iL2, iL3, true, true, true, true, verbose);
+}
+
+//-------------------------------------
+/**
+   @brief whether all pad indices of one trigger are a subset of another one
+   A functor used to remove redundancies 3/4 from 4/4
+ */
+struct TrigIsSubsetOf : public std::unary_function<const nsw::SingleWedgePadTrigger&, bool>
+{
+  vsize_t indices; // indices of the pads from the four layers
+  bool verbose;
+  TrigIsSubsetOf(const nsw::SingleWedgePadTrigger &tr, bool verbose=false) :
+    indices(tr.padIndices()), verbose(verbose) {
+    assert(indices.size()==4);  // we want to use it with the 4 out of 4 triggers
+    std::sort(indices.begin(), indices.end());
+    if(verbose) cout<<" checking for redundancies of ["<<vec2str(indices)<<"]"<<endl;
+  }
+  bool operator() (const nsw::SingleWedgePadTrigger &tr) const {
+    vsize_t idxes(tr.padIndices());
+    std::sort(idxes.begin(), idxes.end()); // need to be sorted for set_intersection to work
+    vsize_t commonIndices(indices.size() > idxes.size() ? indices.size() : idxes.size());
+    bool allIdsPresent(std::distance(commonIndices.begin(),
+                                     std::set_intersection(indices.begin(), indices.end(),
+                                                           idxes.begin(),   idxes.end(),
+                                                           commonIndices.begin()))
+                       == static_cast<int>(idxes.size()));
+    if(verbose) 
+      cout<<"\t against  ["<<vec2str(idxes)<<"] --> "<<(allIdsPresent ? "drop":"keep")<<endl;
+    return allIdsPresent;
+  }
+};
+void remove3of4Redundant4of4(const nsw::vswptrig_t &trigs4of4, nsw::vswptrig_t &trigs3of4, bool verbose=false){
+  for(vswptrig_t::const_iterator t4=trigs4of4.begin(); t4!=trigs4of4.end(); ++t4){
+    trigs3of4.erase(std::remove_if(trigs3of4.begin(), trigs3of4.end(), TrigIsSubsetOf(*t4, verbose)),
+                    trigs3of4.end());
+  }
+}
+//-------------------------------------
+bool L1stl::buildSectorTriggers(const vpads_t &pads, const vsize_t  &indicesSecN)
+{
+  // define two function references to shorten lines
+  vsize_t (&filterByMultiplet)(const vpads_t&, const vsize_t&, int) = nsw::filterPadIndicesByMultiplet;
+  vsize_t (&filterByLayer)(const vpads_t&, const vsize_t&, int) = nsw::filterPadIndicesByLayer;
+  // inner/outer refers to |z|
+  // it used to be (pivot/confirm) x (large/small) ... now obsolete nomenclature
+  const int innerMultiplet(1), outerMultiplet(2);
+  vsize_t indicesInner = filterByMultiplet(pads, indicesSecN, innerMultiplet);
+  vsize_t indicesOuter = filterByMultiplet(pads, indicesSecN, outerMultiplet);
+  vsize_t idxesI1(filterByLayer(pads, indicesInner, STGC_LAYER_1));
+  vsize_t idxesI2(filterByLayer(pads, indicesInner, STGC_LAYER_2));
+  vsize_t idxesI3(filterByLayer(pads, indicesInner, STGC_LAYER_3));
+  vsize_t idxesI4(filterByLayer(pads, indicesInner, STGC_LAYER_4));
+  vsize_t idxesO1(filterByLayer(pads, indicesOuter, STGC_LAYER_1));
+  vsize_t idxesO2(filterByLayer(pads, indicesOuter, STGC_LAYER_2));
+  vsize_t idxesO3(filterByLayer(pads, indicesOuter, STGC_LAYER_3));
+  vsize_t idxesO4(filterByLayer(pads, indicesOuter, STGC_LAYER_4));
+  vswptrig_t i4of4trig(build4of4SingleWedgeTriggers(pads, idxesI1, idxesI2, idxesI3, idxesI4, m_verbose));
+  vswptrig_t i3of4trig(build3of4SingleWedgeTriggers(pads, idxesI1, idxesI2, idxesI3, idxesI4, m_verbose));
+  vswptrig_t o4of4trig(build4of4SingleWedgeTriggers(pads, idxesO1, idxesO2, idxesO3, idxesO4, m_verbose));
+  vswptrig_t o3of4trig(build3of4SingleWedgeTriggers(pads, idxesO1, idxesO2, idxesO3, idxesO4, m_verbose));
+
+  remove3of4Redundant4of4(i4of4trig, i3of4trig, m_verbose);
+  remove3of4Redundant4of4(o4of4trig, o3of4trig, m_verbose);
+  if(m_verbose)
+    cout<<"SingleWedge triggers :"
+        <<" inner : "<<i3of4trig.size()<<"(3/4) "<<i4of4trig.size()<<"(4/4)"
+        <<" outer : "<<o3of4trig.size()<<"(3/4) "<<o4of4trig.size()<<"(4/4)"
+        <<endl;
+
+  vswptrig_t innerTrigs, outerTrigs; // merge 4/4 and 3/4
+  innerTrigs.insert(innerTrigs.end(), i3of4trig.begin(), i3of4trig.end());
+  innerTrigs.insert(innerTrigs.end(), i4of4trig.begin(), i4of4trig.end());
+  outerTrigs.insert(outerTrigs.end(), o3of4trig.begin(), o3of4trig.end());
+  outerTrigs.insert(outerTrigs.end(), o4of4trig.begin(), o4of4trig.end());
+
+  bool acceptSingleWedgeInTransition=true;
+  bool skipInnerOuterMatchHack = false;
+  vstcand_t trigCandidates;
+  /**
+     @todo fix hack DG-2015-10-08
+
+     I am having some issue with determining the corners of the pad.
+     The matching between inner/outer candidates becomes thus
+     pointless.  As a temporary hack, just create one
+     SectorTriggerCandidate for each SingleWedgePadTrigger.
+
+     At this stage, we probably don't even need this feature, since
+     we're using the pads only to determine the strip band. In the TDR
+     we used it to check the resolution (from the pads measurements)
+     of the pointing direction.
+   */
+  if(skipInnerOuterMatchHack){
+      for(SingleWedgePadTrigger &swpt : innerTrigs)
+          trigCandidates.push_back(SectorTriggerCandidate(swpt.setCombined()));
+      for(SingleWedgePadTrigger &swpt : outerTrigs)
+          trigCandidates.push_back(SectorTriggerCandidate(swpt.setCombined()));      
+  } else {
+  for(vswptrig_t::iterator it=innerTrigs.begin(); it!=innerTrigs.end(); ++it){
+    if(acceptSingleWedgeInTransition && it->isInTransitionRegion()) continue;
+    for(vswptrig_t::iterator ot=outerTrigs.begin(); ot!=outerTrigs.end(); ++ot){
+      // Inner-Outer matching based on area
+      EtaPhiRectangle innerArea = Swpt::padOverlap(it->pads());
+      EtaPhiRectangle outerArea = Swpt::padOverlap(ot->pads());
+      double overlap = EtaPhiRectangle::overlappingArea(innerArea,outerArea);
+      if(m_verbose) {
+        cout << "DEBUG :: Inner/Outer Matching :: " << endl;
+        cout << "\t Inner candidate  : "; innerArea.print(cout); cout << endl;
+        cout << "\t Outer candidate  : "; outerArea.print(cout); cout << endl;
+        cout << "\t Overlapping area : " << overlap << endl;
+        cout << "\t Is matched       : " << (overlap > 0 ? "YES" : "NO") << endl;
+      }
+      if(overlap>0) {
+        trigCandidates.push_back(SectorTriggerCandidate(it->setCombined(), ot->setCombined()));
+      } 
+      //else {
+      //  // ASM-2016-10-3 :: If area based matching fails - might even replace that!
+      //  Swpt::EtaPhiHalf innerPos(it->halfPadCoordinates()); // should access cached datamemeber
+      //  Swpt::EtaPhiHalf outerPos(ot->halfPadCoordinates());
+      //  if(Swpt::areInnerOuterConsistent(innerPos, outerPos, m_verbose)) {
+      //      trigCandidates.push_back(SectorTriggerCandidate(it->setCombined(), ot->setCombined()));
+      //  }
+      //}
+    } // end for(ot)
+  } // end for(it)
+  if(acceptSingleWedgeInTransition){
+    for(vswptrig_t::iterator it=innerTrigs.begin(); it!=innerTrigs.end(); ++it){
+      if(it->alreadyCombined()) continue;
+      else if(it->is4outOf4Layers() && it->isInTransitionRegion())
+        trigCandidates.push_back(SectorTriggerCandidate(it->setCombined()));
+    }
+    for(vswptrig_t::iterator ot=outerTrigs.begin(); ot!=outerTrigs.end(); ++ot){
+      if(ot->alreadyCombined()) continue;
+      else if(ot->is4outOf4Layers() && ot->isInTransitionRegion())
+        trigCandidates.push_back(SectorTriggerCandidate(ot->setCombined()));
+    }
+  } // end if(acceptSingleWedgeInTransition)
+  } // if(not skipInnerOuterMatchHack)
+  m_secTrigCand = trigCandidates;
+  if(m_verbose){
+    cout<<"found "<<trigCandidates.size()<<" triggerCandidates from "<<pads.size()<<" pads"<<endl;
+    for(vstcand_t::const_iterator tc=trigCandidates.begin(); tc!=trigCandidates.end(); ++tc) {
+      cout<<"trigger region : "<<tc->triggerRegion()
+          <<" deltaR inner/outer : "<<tc->deltaR()
+          <<endl;
+    } // end for(tc)
+  }
+
+  if(m_writePickle) {
+    if(trigCandidates.size()>0) {
+      int sector = trigCandidates[0].wedgeTrigs()[0].pads()[0].sector;
+      char buf[1024]="";
+      sprintf(buf, "%s/sector%02d.txt", m_picklePrefix.c_str(), sector);
+      std::ofstream fileDump;
+      fileDump.open(buf);
+      fileDump<<"[";
+      for(size_t i=0;i<trigCandidates.size();++i)
+        fileDump<<"{"<<trigCandidates[i].pickle()<<"},\n";
+      fileDump<<"]";
+      fileDump.close();
+    }
+  } // if(m_writePickle)
+
+  return (trigCandidates.size()>0);
+}
+
+/**
+   The trigger 3 out of 4 masks
+   using the following translation from Daniel ....
+   feaaa8  R: .+-+ -+-+  Phi: .--+ -+-+  Best R/Phi: 2/1 (out of 4)
+   2013/02/10 now calculating per wedge
+*/
+std::vector<std::string> L1TdrStgcTriggerLogic::sTGC_triggerPatterns()
+{
+    vector<string> patterns;
+////    patterns.push_back("11111111");
+////    patterns.push_back("12111111");
+////    patterns.push_back("12111211");
+////    patterns.push_back("12121211");
+////    patterns.push_back("21111111");
+////    patterns.push_back("21112111");
+////    patterns.push_back("21212111");
+////    patterns.push_back("22111111");
+////    patterns.push_back("22111211");
+////    patterns.push_back("22112111");
+////    patterns.push_back("22112211");
+////    patterns.push_back("22121211");
+////    patterns.push_back("22122211");
+////    patterns.push_back("22212111");
+////    patterns.push_back("22212211");
+////    patterns.push_back("22222211");
+////    patterns.push_back("00111111");
+////    patterns.push_back("00111211");
+////    patterns.push_back("00112111");
+////    patterns.push_back("00112211");
+////    patterns.push_back("00121211");
+////    patterns.push_back("00122211");
+////    patterns.push_back("00212111");
+////    patterns.push_back("00212211");
+////    patterns.push_back("00222211");
+////    patterns.push_back("11001111");
+////    patterns.push_back("11110011");
+////    patterns.push_back("11111100");
+////    patterns.push_back("12001111");
+////    patterns.push_back("12001211");
+////    patterns.push_back("12110011");
+////    patterns.push_back("12111100");
+////    patterns.push_back("12111200");
+////    patterns.push_back("12120011");
+////    patterns.push_back("12121200");
+////    patterns.push_back("21001111");
+////    patterns.push_back("21002111");
+////    patterns.push_back("21110011");
+////    patterns.push_back("21111100");
+////    patterns.push_back("21112100");
+////    patterns.push_back("21210011");
+////    patterns.push_back("21212100");
+////    patterns.push_back("22001111");
+////    patterns.push_back("22001211");
+////    patterns.push_back("22002111");
+////    patterns.push_back("22002211");
+////    patterns.push_back("22110011");
+////    patterns.push_back("22111100");
+////    patterns.push_back("22111200");
+////    patterns.push_back("22112100");
+////    patterns.push_back("22112200");
+////    patterns.push_back("22120011");
+////    patterns.push_back("22121200");
+////    patterns.push_back("22122200");
+////    patterns.push_back("22210011");
+////    patterns.push_back("22212100");
+////    patterns.push_back("22212200");
+////    patterns.push_back("22220011");
+////    patterns.push_back("22222200");
+    // ==>> Dummy w/ all combinations w/o multiple 33
+    string combinations[10] = {"00","01","02","10","11","12","20","21","22","33"};
+    string current = "";
+    for(unsigned int ii=0; ii<10; ii++) {
+        for(unsigned int ij=0; ij<10; ij++) {
+            for(unsigned int ik=0; ik<10; ik++) {
+                for(unsigned int il=0; il<10; il++) {
+                    current = combinations[ii]+combinations[ij]+combinations[ik]+combinations[il];
+                    if ( combinations[ii] == "33" and combinations[ii] == combinations[ij] ) continue;
+                    if ( combinations[ii] == "33" and combinations[ii] == combinations[ik] ) continue;
+                    if ( combinations[ii] == "33" and combinations[ii] == combinations[il] ) continue;
+                    if ( combinations[ij] == "33" and combinations[ij] == combinations[ik] ) continue;
+                    if ( combinations[ij] == "33" and combinations[ij] == combinations[il] ) continue;
+                    if ( combinations[ik] == "33" and combinations[ik] == combinations[il] ) continue;
+                    patterns.push_back(current); current = "";
+                }
+            }
+        }
+    }
+    //for(auto entry:patterns) cout << "SERHAN :: " << entry << endl;
+    // Dummy done
+
+    //// Patterns for C side from Rotem - Added by ASM 2016-12-14 for testing
+    //patterns.push_back("00011011");
+    //patterns.push_back("00011111");
+    //patterns.push_back("00011133");
+    //patterns.push_back("00013311");
+    //patterns.push_back("00111011");
+    //patterns.push_back("00331011");
+    //patterns.push_back("00331111");
+    //patterns.push_back("01010111");
+    //patterns.push_back("01011011");
+    //patterns.push_back("01011111");
+    //patterns.push_back("01011133");
+    //patterns.push_back("01013311");
+    //patterns.push_back("01020111");
+    //patterns.push_back("01021111");
+    //patterns.push_back("01021133");
+    //patterns.push_back("01023311");
+    //patterns.push_back("01111111");
+    //patterns.push_back("01111133");
+    //patterns.push_back("01113311");
+    //patterns.push_back("01121111");
+    //patterns.push_back("01121133");
+    //patterns.push_back("01123311");
+    //patterns.push_back("01330111");
+    //patterns.push_back("01331011");
+    //patterns.push_back("01331111");
+    //patterns.push_back("01331133");
+    //patterns.push_back("01333311");
+    //patterns.push_back("02010111");
+    //patterns.push_back("02011111");
+    //patterns.push_back("02011133");
+    //patterns.push_back("02013311");
+    //patterns.push_back("02020111");
+    //patterns.push_back("02021111");
+    //patterns.push_back("02021133");
+    //patterns.push_back("02021211");
+    //patterns.push_back("02023311");
+    //patterns.push_back("02121111");
+    //patterns.push_back("02121133");
+    //patterns.push_back("02123311");
+    //patterns.push_back("02330111");
+    //patterns.push_back("02331111");
+    //patterns.push_back("02331133");
+    //patterns.push_back("02331211");
+    //patterns.push_back("02333311");
+    //patterns.push_back("10011111");
+    //patterns.push_back("10011133");
+    //patterns.push_back("10100111");
+    //patterns.push_back("10101011");
+    //patterns.push_back("10101111");
+    //patterns.push_back("10101133");
+    //patterns.push_back("10103311");
+    //patterns.push_back("10110111");
+    //patterns.push_back("10111011");
+    //patterns.push_back("10111111");
+    //patterns.push_back("10111133");
+    //patterns.push_back("10112111");
+    //patterns.push_back("10113311");
+    //patterns.push_back("10211011");
+    //patterns.push_back("10330111");
+    //patterns.push_back("10331011");
+    //patterns.push_back("10331111");
+    //patterns.push_back("10332111");
+    //patterns.push_back("11011011");
+    //patterns.push_back("11011111");
+    //patterns.push_back("11011133");
+    //patterns.push_back("11013311");
+    //patterns.push_back("11021111");
+    //patterns.push_back("11021133");
+    //patterns.push_back("11023311");
+    //patterns.push_back("11100111");
+    //patterns.push_back("11101111");
+    //patterns.push_back("11101133");
+    //patterns.push_back("11103311");
+    //patterns.push_back("11110111");
+    //patterns.push_back("11111011");
+    //patterns.push_back("11111111");
+    //patterns.push_back("11111133");
+    //patterns.push_back("11111211");
+    //patterns.push_back("11112011");
+    //patterns.push_back("11112111");
+    //patterns.push_back("11113311");
+    //patterns.push_back("11120111");
+    //patterns.push_back("11121111");
+    //patterns.push_back("11121133");
+    //patterns.push_back("11122111");
+    //patterns.push_back("11123311");
+    //patterns.push_back("11201111");
+    //patterns.push_back("11201133");
+    //patterns.push_back("11203311");
+    //patterns.push_back("11211111");
+    //patterns.push_back("11211133");
+    //patterns.push_back("11213311");
+    //patterns.push_back("11221111");
+    //patterns.push_back("11221133");
+    //patterns.push_back("11223311");
+    //patterns.push_back("11330111");
+    //patterns.push_back("11331011");
+    //patterns.push_back("11331111");
+    //patterns.push_back("11331133");
+    //patterns.push_back("11331211");
+    //patterns.push_back("11332011");
+    //patterns.push_back("11332111");
+    //patterns.push_back("11333311");
+    //patterns.push_back("12011111");
+    //patterns.push_back("12011133");
+    //patterns.push_back("12013311");
+    //patterns.push_back("12021111");
+    //patterns.push_back("12021133");
+    //patterns.push_back("12021211");
+    //patterns.push_back("12023311");
+    //patterns.push_back("12110111");
+    //patterns.push_back("12111111");
+    //patterns.push_back("12111133");
+    //patterns.push_back("12111211");
+    //patterns.push_back("12112111");
+    //patterns.push_back("12113311");
+    //patterns.push_back("12120111");
+    //patterns.push_back("12121111");
+    //patterns.push_back("12121133");
+    //patterns.push_back("12121211");
+    //patterns.push_back("12122111");
+    //patterns.push_back("12123311");
+    //patterns.push_back("12211211");
+    //patterns.push_back("12221111");
+    //patterns.push_back("12221133");
+    //patterns.push_back("12221211");
+    //patterns.push_back("12223311");
+    //patterns.push_back("12330111");
+    //patterns.push_back("12331111");
+    //patterns.push_back("12331133");
+    //patterns.push_back("12331211");
+    //patterns.push_back("12332111");
+    //patterns.push_back("12333311");
+    //patterns.push_back("20101011");
+    //patterns.push_back("20101111");
+    //patterns.push_back("20101133");
+    //patterns.push_back("20103311");
+    //patterns.push_back("20111111");
+    //patterns.push_back("20111133");
+    //patterns.push_back("20113311");
+    //patterns.push_back("20201011");
+    //patterns.push_back("20201111");
+    //patterns.push_back("20201133");
+    //patterns.push_back("20202011");
+    //patterns.push_back("20202111");
+    //patterns.push_back("20203311");
+    //patterns.push_back("20211011");
+    //patterns.push_back("20211111");
+    //patterns.push_back("20211133");
+    //patterns.push_back("20212111");
+    //patterns.push_back("20213311");
+    //patterns.push_back("20331011");
+    //patterns.push_back("20331111");
+    //patterns.push_back("20332011");
+    //patterns.push_back("20332111");
+    //patterns.push_back("21111011");
+    //patterns.push_back("21111111");
+    //patterns.push_back("21111133");
+    //patterns.push_back("21111211");
+    //patterns.push_back("21113311");
+    //patterns.push_back("21121111");
+    //patterns.push_back("21121133");
+    //patterns.push_back("21123311");
+    //patterns.push_back("21201111");
+    //patterns.push_back("21201133");
+    //patterns.push_back("21203311");
+    //patterns.push_back("21211011");
+    //patterns.push_back("21211111");
+    //patterns.push_back("21211133");
+    //patterns.push_back("21211211");
+    //patterns.push_back("21212011");
+    //patterns.push_back("21212111");
+    //patterns.push_back("21213311");
+    //patterns.push_back("21221111");
+    //patterns.push_back("21221133");
+    //patterns.push_back("21222111");
+    //patterns.push_back("21223311");
+    //patterns.push_back("21331011");
+    //patterns.push_back("21331111");
+    //patterns.push_back("21331211");
+    //patterns.push_back("21332011");
+    //patterns.push_back("21332111");
+    //patterns.push_back("22111111");
+    //patterns.push_back("22111133");
+    //patterns.push_back("22113311");
+    //patterns.push_back("22121111");
+    //patterns.push_back("22121133");
+    //patterns.push_back("22121211");
+    //patterns.push_back("22123311");
+    //patterns.push_back("22211111");
+    //patterns.push_back("22211133");
+    //patterns.push_back("22211211");
+    //patterns.push_back("22212111");
+    //patterns.push_back("22213311");
+    //patterns.push_back("22221111");
+    //patterns.push_back("22221133");
+    //patterns.push_back("22221211");
+    //patterns.push_back("22222111");
+    //patterns.push_back("22223311");
+    //patterns.push_back("22331111");
+    //patterns.push_back("22331211");
+    //patterns.push_back("22332111");
+    //patterns.push_back("33010111");
+    //patterns.push_back("33011011");
+    //patterns.push_back("33011111");
+    //patterns.push_back("33011133");
+    //patterns.push_back("33013311");
+    //patterns.push_back("33020111");
+    //patterns.push_back("33021111");
+    //patterns.push_back("33021133");
+    //patterns.push_back("33021211");
+    //patterns.push_back("33023311");
+    //patterns.push_back("33100111");
+    //patterns.push_back("33101011");
+    //patterns.push_back("33101111");
+    //patterns.push_back("33110111");
+    //patterns.push_back("33111011");
+    //patterns.push_back("33111111");
+    //patterns.push_back("33111133");
+    //patterns.push_back("33111211");
+    //patterns.push_back("33112011");
+    //patterns.push_back("33112111");
+    //patterns.push_back("33113311");
+    //patterns.push_back("33120111");
+    //patterns.push_back("33121111");
+    //patterns.push_back("33121133");
+    //patterns.push_back("33121211");
+    //patterns.push_back("33122111");
+    //patterns.push_back("33123311");
+    //patterns.push_back("33201011");
+    //patterns.push_back("33201111");
+    //patterns.push_back("33202011");
+    //patterns.push_back("33202111");
+    //patterns.push_back("33211011");
+    //patterns.push_back("33211111");
+    //patterns.push_back("33211211");
+    //patterns.push_back("33212011");
+    //patterns.push_back("33212111");
+    //patterns.push_back("33221111");
+    //patterns.push_back("33221211");
+    //patterns.push_back("33222111");
+    //patterns.push_back("33330111");
+    //patterns.push_back("33331011");
+    //patterns.push_back("33331111");
+    //patterns.push_back("33331133");
+    //patterns.push_back("33331211");
+    //patterns.push_back("33332011");
+    //patterns.push_back("33332111");
+    //patterns.push_back("33333311");
+
+    return patterns;
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.h
new file mode 100644
index 00000000000..2f37bbe5305
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/L1TdrStgcTriggerLogic.h
@@ -0,0 +1,112 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSW_L1TDRSTGCTRIGGERLOGIC_H
+#define NSW_L1TDRSTGCTRIGGERLOGIC_H
+
+#include "tdr_typedefs.h"
+
+#include "TRandom.h"
+
+#include <string>
+#include <vector>
+
+namespace nsw{
+  class Pad;
+  class PadWithHits;
+  class SingleWedgePadTrigger;
+  class SectorTriggerCandidate;
+}
+
+namespace nsw {
+/**
+  @brief Initial version of the stgc pad trigger logic
+
+  This class contains the trigger logic for the stgc pads as implemented
+  for the NSW TDR (CERN-LHCC-2013-006, https://cds.cern.ch/record/1552862).
+  In particular, the naming convention and the trigger logic are
+  described in ATL-MUON-INT-2014-003 https://cds.cern.ch/record/1694727.
+
+  This class requires the input data to be formatted as a vector<PadWithHits>,
+  and it provides as output a vector<SectorTriggerCandidate>.
+
+  Imported from
+  svn+ssh://svn.cern.ch/reps/atlasusr/ataffard/UpgradeNSW/NSWAna/NSWNtuple/trunk ,
+  this class is in TrigT1NSWSimTools mainly meant to provide a reference.
+  Note that all the 'legacy' code from the TDR study is in the 'nsw' namespace.
+  (newer 'official' code is in the 'NSWL1' namespace).
+
+  @todo add unit test
+ 
+  Based on the original implementation by Shikma, sTGCTriggerLogic.
+ 
+  davide.gerbaudo@gmail.com
+  April 2013
+*/
+class L1TdrStgcTriggerLogic {
+
+public:
+	L1TdrStgcTriggerLogic();
+	virtual ~L1TdrStgcTriggerLogic();
+    /**
+       @brief main function to compute trigger candidates
+
+       @arg pads all active pads in this event
+       @arg padIndicesThisSector indices of pads that should be
+       considered to compute the triggers for this sector (i.e. after
+       filtering by side+sector and eventually applying the
+       efficiency)
+
+     */
+    bool buildSectorTriggers(const nsw::vpads_t &pads, const vsize_t  &padIndicesThisSector);
+    /// access cached output of buildSectorTriggers()
+    const nsw::vstcand_t& candidates() const {return m_secTrigCand;}
+    /// simulate efficiency by dropping random pads (their indices)
+    nsw::vsize_t removeRandomPadIndices(const nsw::vsize_t &padIndices);
+    /**
+       @brief trigger patterns that will be stored in the lookup table
+
+       These are the original patterns we got in 2013 from D.Lellouch.
+       They are probably obsolete and they should be updated
+       \todo update trigger patterns
+    */
+    static std::vector<std::string> sTGC_triggerPatterns();
+public:
+    static bool hitPattern(const nsw::Pad &firstPad, const nsw::Pad &otherPad,
+                           std::string &pattern, bool verbose);
+	static bool hitPattern(const int &iEta0, const int &iPhi0,
+                           const int &iEta1, const int &iPhi1,
+                           std::string &pattern);
+    static nsw::vswptrig_t buildSingleWedgeTriggers(const nsw::vpads_t &pads,
+                                                    const nsw::vsize_t &padIndicesLayer0,
+                                                    const nsw::vsize_t &padIndicesLayer1,
+                                                    const nsw::vsize_t &padIndicesLayer2,
+                                                    const nsw::vsize_t &padIndicesLayer3,
+                                                    bool isLayer1, bool isLayer2,
+                                                    bool isLayer3, bool isLayer4,
+                                                    bool verbose=false);
+    static nsw::vswptrig_t build3of4SingleWedgeTriggers(const nsw::vpads_t &pads,
+                                                        const nsw::vsize_t &padIndicesLayer0,
+                                                        const nsw::vsize_t &padIndicesLayer1,
+                                                        const nsw::vsize_t &padIndicesLayer2,
+                                                        const nsw::vsize_t &padIndicesLayer3,
+                                                        bool verbose=false);
+    static nsw::vswptrig_t build4of4SingleWedgeTriggers(const nsw::vpads_t &pads,
+                                                        const nsw::vsize_t &padIndicesLayer0,
+                                                        const nsw::vsize_t &padIndicesLayer1,
+                                                        const nsw::vsize_t &padIndicesLayer2,
+                                                        const nsw::vsize_t &padIndicesLayer3,
+                                                        bool verbose=false);
+public:
+    bool m_verbose;
+    bool m_writePickle; /// after computing the triggers, write the canditates to 'pickle' files (for event display)
+    std::string m_picklePrefix; /// path where the pickle files will be written
+protected:
+ 	TRandom rand;
+    nsw::vstcand_t m_secTrigCand;
+};
+} // end namespace nsw
+#endif // NSW_L1TDRSTGCTRIGGERLOGIC_H
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateData.cxx
new file mode 100644
index 00000000000..990cec39789
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateData.cxx
@@ -0,0 +1,16 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#include "TrigT1NSWSimTools/MMCandidateData.h"
+
+std::ostream& operator<<(std::ostream& stream, NSWL1::MMCandidateData& candidate) {
+    stream << "MM Trigger candidate: Delta Theta " << candidate.deltaTheta()
+           << ", eta "   << candidate.eta()
+           << "(sigma: " << candidate.etaSigma() << ")"
+           << ", phi "   << candidate.phi()
+           << "(sigma: " << candidate.phiSigma() << ")";
+
+    return stream;
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.cxx
new file mode 100644
index 00000000000..a8e55e73652
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.cxx
@@ -0,0 +1,30 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+// Local includes
+#include "MMCandidateOfflineData.h"
+
+
+namespace NSWL1 {
+
+   MMCandidateOfflineData::MMCandidateOfflineData(int trig_bcid, float delta_theta, float eta_pos, float phi_pos, float eta_sigma_pos, float phi_sigma_pos):
+     m_trig_bcid(trig_bcid),
+     m_delta_theta(delta_theta),
+     m_eta_position(eta_pos),
+     m_phi_position(phi_pos),
+     m_eta_sigma_position(eta_sigma_pos),
+     m_phi_sigma_position(phi_sigma_pos)
+   {}
+
+    MMCandidateOfflineData::~MMCandidateOfflineData() {} 
+
+    int   MMCandidateOfflineData::trig_BCID()    const { return m_trig_bcid; }
+
+    float MMCandidateOfflineData::deltaTheta()  const { return m_delta_theta; }
+    float MMCandidateOfflineData::eta()         const { return m_eta_position; }
+    float MMCandidateOfflineData::etaSigma()    const { return m_phi_position; }
+    float MMCandidateOfflineData::phi()         const { return m_eta_sigma_position; }
+    float MMCandidateOfflineData::phiSigma()    const { return m_phi_sigma_position; }
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.h
new file mode 100644
index 00000000000..06a802d147d
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMCandidateOfflineData.h
@@ -0,0 +1,61 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMCANDIDATEOFFLINEDATA_H
+#define MMCANDIDATEOFFLINEDATA_H
+
+// local includes
+#include "TrigT1NSWSimTools/MMCandidateData.h" 
+
+// forward declarations
+class TVector3;
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short class modeling the strip hit fragment for the NSW L1 offline simulation
+   *
+   * This holds the trigger candidate DeltaTheta measurement and the associated position
+   * within the NSW detector. To be delivered to the Trigger Sector Logic for the candidate
+   * confirmation.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>, Ourania Sidiropoulou <osidirop@cern.ch>
+   *
+   *
+   */
+
+  class MMCandidateOfflineData: public MMCandidateData {
+
+  private:
+
+    int   m_trig_bcid;            //!< trig BCID
+    float m_delta_theta;          //!< Delta Theta measurement: defines a prompt track if found within the trigger threshold
+    float m_eta_position;         //!< Eta position of the prompt track candidate
+    float m_phi_position;         //!< Sigma of the Eta position of the prompt track candidate
+    float m_eta_sigma_position;   //!< Phi position of the prompt track candidate
+    float m_phi_sigma_position;   //!< Sigma of the Phi position of the prompt track candidate
+
+
+  public:
+    MMCandidateOfflineData(int trig_bcid, float delta_theta, float eta_pos, float phi_pos, float eta_sigma_pos = 0.0, float phi_sigma_pos = 0.0);
+    ~MMCandidateOfflineData();
+
+    //! methods for retrieving the bare data
+    int trig_BCID()    const;  //!< get the BCID
+
+    //! helper  methods decoding the trigger candiate fragment delivered by the FPGA trigger logic for the NSW detector
+    float deltaTheta()  const; //!< Delta Theta measurement: defines a prompt track if found within the trigger threshold
+    float eta()         const; //!< Eta position of the prompt track candidate
+    float etaSigma()    const; //!< Sigma of the Eta position of the prompt track candidate
+    float phi()         const; //!< Phi position of the prompt track candidate
+    float phiSigma()    const; //!< Sigma of the Phi position of the prompt track candidate
+
+  };  // end of MMCandidateOfflineData class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.cxx
new file mode 100644
index 00000000000..cc07cd83ef3
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.cxx
@@ -0,0 +1,288 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+// local includes
+#include "MMFPGAOfflineTool.h"
+#include "MMStripOfflineData.h"
+#include "MMCandidateOfflineData.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility>
+
+using namespace std;
+
+
+namespace NSWL1 {
+
+    MMFPGAOfflineTool::MMFPGAOfflineTool( const std::string& type, const std::string& name, const IInterface* parent) :
+      AthAlgTool(type,name,parent),
+      m_incidentSvc("IncidentSvc",name),
+      m_rndmSvc("AtRndmGenSvc",name),
+      m_rndmEngine(0),
+      m_mmcandidate_cache_runNumber(-1),
+      m_mmcandidate_cache_eventNumber(-1),
+      m_rndmEngineName(""),
+      m_doNtuple(false),
+      m_tree(0)
+
+    {
+      memset (m_mmcandidate_cache_status,CLEARED,sizeof(cStatus));
+
+      declareInterface<NSWL1::IMMFPGATool>(this);
+
+      declareProperty("RndmEngineName", m_rndmEngineName = "MMStripTdsOfflineTool", "the name of the random engine");
+      declareProperty("DoNtuple", m_doNtuple = false, "input the MMStripTds branches into the analysis ntuple"); 
+
+      // reserve enough slots for the trigger sectors and fills empty vectors
+      m_trigger_candidates.reserve(32);
+      std::vector< std::vector<MMCandidateData*> >::iterator it = m_trigger_candidates.begin();
+      m_trigger_candidates.insert(it,32,std::vector<MMCandidateData*>());
+    }
+
+    MMFPGAOfflineTool::~MMFPGAOfflineTool() {
+    }
+
+
+    StatusCode MMFPGAOfflineTool::initialize() {
+      ATH_MSG_INFO( "initializing " << name() ); 
+
+      ATH_MSG_INFO( name() << " configuration:");
+      ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_rndmEngineName.name() << m_rndmEngineName.value());
+      ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
+                       << setfill(' ') << setiosflags(ios::right) );
+
+ 
+
+      const IInterface* parent = this->parent();
+      const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+      std::string algo_name = pnamed->name();
+
+      if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        ITHistSvc* tHistSvc;
+        StatusCode sc = service("THistSvc", tHistSvc);
+        if(sc.isFailure()) {
+          ATH_MSG_FATAL("Unable to retrieve THistSvc");
+          return sc;
+        }
+
+        char ntuple_name[40];
+        memset(ntuple_name,'\0',40*sizeof(char));
+        sprintf(ntuple_name,"%sTree",algo_name.c_str());
+
+        m_tree = 0;
+        sc = tHistSvc->getTree(ntuple_name,m_tree);
+        if (sc.isFailure()) {
+          this->clear_ntuple_variables();
+          ATH_MSG_FATAL("Could not retrieve the analysis ntuple from the THistSvc");
+          return sc;
+        } else {
+          ATH_MSG_INFO("Analysis ntuple succesfully retrieved");
+          sc = this->book_branches();
+          if (sc.isFailure()) {
+            ATH_MSG_ERROR("Cannot book the branches for the analysis ntuple");
+          }
+        }
+
+      } else this->clear_ntuple_variables();
+
+      // retrieve the Incident Service
+      if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+      }
+      m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+      // retrieve the Random Service
+      if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+      }
+
+      // retrieve the random engine
+      m_rndmEngine = m_rndmSvc->GetEngine(m_rndmEngineName);
+      if (m_rndmEngine==0) {
+        ATH_MSG_FATAL("Could not retrieve the random engine " << m_rndmEngineName);
+        return StatusCode::FAILURE;
+      }
+
+      return StatusCode::SUCCESS;
+    }
+
+    void MMFPGAOfflineTool::handle(const Incident& inc) {
+      if( inc.type()==IncidentType::BeginEvent ) {
+        this->clear_cache();  
+        this->reset_ntuple_variables();
+        memset (m_mmcandidate_cache_status,CLEARED,sizeof(cStatus));
+      }
+    }
+
+    void MMFPGAOfflineTool::clear_cache() {
+      for (unsigned int i=0; i<m_trigger_candidates.size(); i++) {
+        std::vector<MMCandidateData*>& sector_candidates = m_trigger_candidates.at(i);
+        for (unsigned int c=0; c< sector_candidates.size(); c++) {
+          delete sector_candidates.at(c);
+        }
+        sector_candidates.clear();
+      }
+    }
+
+
+    StatusCode MMFPGAOfflineTool::book_branches() {
+      m_nMMCandidates = 0;
+
+      if (m_tree) {
+        std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
+        const char* n = ToolName.c_str();
+        m_tree->Branch(TString::Format("%s_nMMCandidates",n).Data(),&m_nMMCandidates,TString::Format("%s_nMMCandidates/i",n).Data());
+      } else { 
+        return StatusCode::FAILURE;
+      }
+
+      return StatusCode::SUCCESS;
+    }
+
+
+    void MMFPGAOfflineTool::reset_ntuple_variables() {
+      // if ntuple is not booked nothing to do
+      if ( m_tree==0 ) return;
+
+      //reset the ntuple variables
+      m_nMMCandidates = 0;
+    }
+
+    void MMFPGAOfflineTool::clear_ntuple_variables() {
+      //clear the ntuple variables
+      m_nMMCandidates = 0;
+    }
+
+  
+    StatusCode MMFPGAOfflineTool::gather_mmcandidate_data(std::vector<MMStripData*>& mmstrips,
+                                                          std::vector<MMCandidateData*>& mmcandidates,
+                                                          int side, int sector) {
+      ATH_MSG_DEBUG( "gather_mmcandidate_data: start gathering the String hits for side " << side << ", sector " << sector );
+
+      // check side and sector parameters
+      if ( side <-1 || side >1 ) {
+        ATH_MSG_ERROR( "requested side " << side << " is out of range: [-1==All, 0==side C, 1==side A]");
+        return StatusCode::FAILURE;
+      }
+
+      if ( sector <-1 || sector >15 ) {
+        ATH_MSG_ERROR( "requested sector " << sector << " is out of range: [-1==All, 0 - 15]");
+        return StatusCode::FAILURE;
+      }
+
+
+      // retrieve the current run number and event number
+      const EventInfo* pevt = 0;
+      StatusCode sc = evtStore()->retrieve(pevt);
+      if ( !sc.isSuccess() ) {
+        ATH_MSG_WARNING( "Could not retrieve the EventInfo, so cannot associate run and event number to the current Strip cache" ); 
+        m_mmcandidate_cache_runNumber   = -1;
+        m_mmcandidate_cache_eventNumber = -1;
+      } else {
+        m_mmcandidate_cache_runNumber   = pevt->event_ID()->run_number();
+        m_mmcandidate_cache_eventNumber = pevt->event_ID()->event_number();
+      }
+
+      if (this->apply_trigger_logic(mmstrips) != OK) {
+          ATH_MSG_ERROR("FPGA trigger solgic simulation not succesfull!");
+          return StatusCode::FAILURE;
+      }
+
+
+      // delivering the required collection
+      if (side==-1 && sector==-1) {
+        //return the full set
+        ATH_MSG_DEBUG( "copying the full MM trigger candidate set" );
+        for (unsigned int i=0; i<32; i++) mmcandidates.insert( mmcandidates.end(), m_trigger_candidates.at(i).begin(), m_trigger_candidates.at(i).end() );
+      }
+      else if (side!=-1 && sector==-1) {
+        //return all the trigger sectors for the given side
+        ATH_MSG_DEBUG( "copying the MM trigger candidate set of all trigger sector in side " << ((side)? "C" : "A") );
+        unsigned int start = (side)? 16 : 0;
+        unsigned int stop  = (side)? 32 :16;
+        for (unsigned int i=start; i<stop; i++) mmcandidates.insert( mmcandidates.end(), m_trigger_candidates.at(i).begin(), m_trigger_candidates.at(i).end() );
+      }
+      else if (side==-1 && sector!=-1) {
+        // return the required trigger sectors
+        ATH_MSG_DEBUG( "copying the MM trigger candidate set of all trigger sector " << sector << " in both side" );
+        mmcandidates.insert( mmcandidates.end(), m_trigger_candidates.at(sector).begin(), m_trigger_candidates.at(sector).end() );
+        mmcandidates.insert( mmcandidates.end(), m_trigger_candidates.at(sector+16).begin(), m_trigger_candidates.at(sector+16).end() );
+      }
+      else {
+        // return the required trigger sector
+        ATH_MSG_DEBUG( "copying the MM trigger candidate set of all trigger sector " << sector << " in side " << ((side)? "C" : "A") );
+        int i = side*16+sector;
+        mmcandidates.insert( mmcandidates.end(), m_trigger_candidates.at(i).begin(), m_trigger_candidates.at(i).end() );
+      }
+
+      ATH_MSG_DEBUG( "delivered n. " << mmcandidates.size() << " MM trigger candidates." );
+
+      return StatusCode::SUCCESS;
+    }
+
+    MMFPGAOfflineTool::cStatus MMFPGAOfflineTool::apply_trigger_logic(std::vector<MMStripData*>& mmstrips) {
+
+      for (int side=0; side<2; side++) {
+        for (int sector=0; sector<16; sector++) {
+
+          /** Compute the trigger sector */
+          int tsector = side*16 + sector;
+
+          /** Filter the data that belong to this trigger sector */
+          std::vector<MMStripData*> strips_in_tsector;
+          for (unsigned int i=0;i<mmstrips.size();i++) {
+            if ( (mmstrips[i]->sideId()==side)&&(mmstrips[i]->sectorId()==sector) ) {
+              strips_in_tsector.push_back(mmstrips[i]);
+            }
+          }
+          //std::copy_if(mmstrips.begin(),mmstrips.end(),strips_in_tsector.begin(),[](MMStripData* strip){ return (strip->sideId()==side)&&(strip->sectorId()==sector);} );
+
+          if (strips_in_tsector.size()!=0) {
+
+            /** if cach is already filled trigger the error */
+            if (m_mmcandidate_cache_status[tsector]!=CLEARED) {
+                m_mmcandidate_cache_status[tsector] = FILL_ERROR;
+                return m_mmcandidate_cache_status[tsector];
+            }
+
+            /** process the trigger logic and fille the relative candidate cache */
+
+            // this->perform_pattern_recognition(pass_the_data)
+            // this->perform_track_fit()
+            // this->build_canddiate()
+
+          }
+        }  
+      }
+
+      return OK;
+  
+    } 
+
+} // end of NSWL1  namespace
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.h
new file mode 100644
index 00000000000..bbb6cc8f671
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMFPGAOfflineTool.h
@@ -0,0 +1,112 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMFPGAOFFLINETOOL_H
+#define MMFPGAOFFLINETOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "GaudiKernel/Property.h"
+
+//local includes
+#include "TrigT1NSWSimTools/IMMFPGATool.h"
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class TTree;
+
+namespace CLHEP {
+  class HepRandomEngine;
+}
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short interface for the trigger FPGA tools
+   *
+   * This class implements the trigger FPGA offline simulation. It loops over the input MM strips, 
+   * identifies cluster of hits coming from tracks, determines the BC tag and measures the delta
+   * theta for applying the threshold for prompt tracks. It finally delivers the track candidates
+   * to be matched with the Big Wheel RoIs. 
+   * The trigger logic is processed for each trigger sector and the resulting candidates are cached
+   * until the next event gets processed. Any attempt to process data from the same trigger sector 
+   * twice in the event will trigger a failure of the tool. 
+   * The input interface always works in the assumption that the input vector of MM strips contains
+   * the data of the full NSW detector. The parameters "side" and "sector" only select the output
+   * trigger candidates from a specific trigger sector. 
+   *
+   * It returns a vector of MMCandidateData to input the Trigger Sector Logic simulation.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>, Ourania Sidiropoulou <osidirop@cern.ch>
+   *
+   *
+   */
+
+  class MMFPGAOfflineTool: virtual public IMMFPGATool, 
+                                   public AthAlgTool, 
+                                   public IIncidentListener {
+
+  public:
+    enum cStatus {OK, FILL_ERROR, CLEARED};
+
+    MMFPGAOfflineTool(const std::string& type, 
+	              const std::string& name,
+	              const IInterface* parent);
+
+    virtual ~MMFPGAOfflineTool();
+
+    virtual StatusCode initialize();
+
+    virtual void handle (const Incident& inc);
+
+    StatusCode gather_mmcandidate_data(std::vector<MMStripData*>& mmstrips, std::vector<MMCandidateData*>& mmcandidates, int side=-1, int sector=-1);
+
+
+  private:
+    // methods implementing the internal data processing
+    cStatus apply_trigger_logic(std::vector<MMStripData*>& mmstrips); //!< process the mmstrip of a specifi trigger sector (0 - 31)
+    void clear_cache();                                     //!< clear the MM candidate cache deleting the MMCandidateData pointers
+
+    StatusCode book_branches();                             //!< book the branches to analyze the MMFPGA behavior
+    void reset_ntuple_variables();                          //!< reset the variables used in the analysis ntuple
+    void clear_ntuple_variables();                          //!< clear the variables used in the analysis ntuple
+ 
+
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+
+    // hidden variables
+    std::vector< std::vector<MMCandidateData*> > 
+            m_trigger_candidates;                           //!< cache for the MM Strip hit data in the event
+    int     m_mmcandidate_cache_runNumber;                  //!< run number associated to the current MM Strip cache
+    int     m_mmcandidate_cache_eventNumber;                //!< event number associated to the current MM Strip cache
+    cStatus m_mmcandidate_cache_status[32];                 //!< status of the current cache
+
+    
+
+    // properties: container and service names
+    StringProperty   m_rndmEngineName;                      //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    BooleanProperty  m_doNtuple;                            //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+
+
+    // analysis ntuple
+    TTree* m_tree;                                          //!< ntuple for analysis
+
+    // analysis variable to be put into the ntuple
+    int  m_nMMCandidates;                                   //!< number of Candidates delivered
+
+  };  // end of MMFPGAOfflineTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
new file mode 100644
index 00000000000..e9d74cd62ca
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
@@ -0,0 +1,737 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// local includes
+#include "MMLoadVariables.h"
+
+// //Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// random numbers
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+
+
+// using namespace std;
+
+MMLoadVariables::MMLoadVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, const MmIdHelper* idhelper, MMT_Parameters *par){
+      m_par = par;
+      m_evtStore = evtStore;
+      m_detManager = detManager;
+      m_MmIdHelper = idhelper;
+}
+
+MMLoadVariables::~MMLoadVariables() {
+}
+
+    void MMLoadVariables::getMMDigitsInfo(vector<digitWrapper>& entries, map<hitData_key,hitData_entry>& Hits_Data_Set_Time, map<int,evInf_entry>& Event_Info){
+      //*******Following MuonPRD code to access all the variables**********
+
+      histogramVariables fillVars;
+
+      //Get truth variables, vertex
+      const McEventCollection *truthContainer = nullptr;
+      StatusCode sc1 = m_evtStore->retrieve(truthContainer,"TruthEvent");
+
+      //Get MuEntry variables TBD if still necessary
+      const TrackRecordCollection* trackRecordCollection = nullptr;
+      StatusCode sc2 = m_evtStore->retrieve(trackRecordCollection,"MuonEntryLayer") ;
+
+      //Get truth information container of digitization
+      const MuonSimDataCollection* nsw_MmSdoContainer = nullptr;
+      StatusCode sc3 = m_evtStore->retrieve(nsw_MmSdoContainer,"MM_SDO");
+
+      // get digit container (a container corresponds to a multilayer of a module)
+      const MmDigitContainer *nsw_MmDigitContainer = nullptr;
+      StatusCode sc4 = m_evtStore->retrieve(nsw_MmDigitContainer,"MM_DIGITS");
+
+      std::string wedgeType = getWedgeType(nsw_MmDigitContainer);
+
+      float phiEntry = 0;
+      float phiPosition = 0;
+      float etaEntry = 0;
+      float etaPosition = 0;
+      // float chargeThreshold = m_par->chargeThreshold;
+      // float theTheta = 0;
+
+      TLorentzVector thePart, theInfo;
+      TVector3 vertex;int pdg=0;
+      auto MuEntry_Particle_n = trackRecordCollection->size();
+      int j=0; //# iteration of particle entries
+
+      for(auto it : *truthContainer) {  //first loop in MMT_loader::load_event
+
+        const HepMC::GenEvent *subEvent = it;
+
+
+        HepMC::ConstGenEventParticleRange particle_range = subEvent->particle_range();
+
+        for(auto pit : particle_range) {
+          const HepMC::GenParticle *particle = pit;
+          const HepMC::FourVector momentum = particle->momentum();
+
+          int k=0;
+          for(auto mit : *trackRecordCollection ) {k++;} //number of mu entries
+          if(particle->barcode() == 10001 && abs(particle->pdg_id())==13){
+
+            thePart.SetPtEtaPhiE(momentum.perp(),momentum.eta(),momentum.phi(),momentum.e());
+
+            for(auto mit : *trackRecordCollection ) {
+              if(k>0&&j<k){
+
+                const CLHEP::Hep3Vector mumomentum = mit.GetMomentum();
+                const CLHEP::Hep3Vector muposition = mit.GetPosition();
+
+                pdg=particle->barcode();
+                phiEntry = mumomentum.getPhi();
+                etaEntry = mumomentum.getEta();
+                phiPosition = muposition.getPhi();
+                etaPosition = muposition.getEta();
+                // std::cout << "THEPARTXY " << thePart.X() << " " << thePart.Y() << " " << thePart.Phi() << std::endl;
+
+              }
+            }//muentry loop
+              int l=0;
+              HepMC::ConstGenEventVertexRange vertex_range = subEvent->vertex_range();
+
+
+
+              for(auto vit : vertex_range) {
+                if(l!=0){break;}//get first vertex of iteration, may want to change this
+                const HepMC::GenVertex *vertex1 = vit;
+                const HepMC::FourVector position = vertex1->position();
+
+
+
+                vertex=TVector3(position.x(),position.y(),position.z());
+
+                l++;
+              }//end vertex loop
+            }
+            j++;
+        } //end particle loop
+      } //end container loop (should be only 1 container per event)
+      const EventInfo* pevt = 0;
+      StatusCode sc = m_evtStore->retrieve(pevt);
+
+      int event = pevt->event_ID()->event_number();
+      // if(j==0){cout << "ZERO PARTICLES IN EVENT";} //debug
+      int TruthParticle_n = j;
+      evFit_entry fit;fit.athena_event=event;//-1;  **May not be necessary
+
+      //Truth information for theta, phi
+      double theta_pos=atan(exp(-etaPosition))*2,theta_ent=atan(exp(-etaEntry))*2,phi_pos=phiPosition;
+
+
+      //get hits container
+      const GenericMuonSimHitCollection *nswContainer = nullptr;
+      StatusCode sc5 = m_evtStore->retrieve(nswContainer,"MicromegasSensitiveDetector");
+
+
+      for(auto digitCollectionIter : *nsw_MmDigitContainer) {
+        // a digit collection is instanciated for each container, i.e. holds all digits of a multilayer
+        const MmDigitCollection* digitCollection = digitCollectionIter;
+        // loop on all digits inside a collection, i.e. multilayer
+        int digit_count =0;
+
+        for (unsigned int item=0; item<digitCollection->size(); item++) {
+            // get specific digit and identify it
+            const MmDigit* digit = digitCollection->at(item);
+            Identifier Id = digit->identify();
+
+            Amg::Vector3D hit_gpos(0., 0., 0.);
+
+            std::string stName   = m_MmIdHelper->stationNameString(m_MmIdHelper->stationName(Id));
+            int stationName      = m_MmIdHelper->stationName(Id);
+            int stationEta       = m_MmIdHelper->stationEta(Id);
+            int stationPhi       = m_MmIdHelper->stationPhi(Id);
+            int multiplet        = m_MmIdHelper->multilayer(Id);
+            int gas_gap          = m_MmIdHelper->gasGap(Id);
+            int channel          = m_MmIdHelper->channel(Id);
+
+            int isSmall = (stName[2] == 'S');
+            const MuonGM::MMReadoutElement* rdoEl = m_detManager->getMMRElement_fromIdFields(isSmall, stationEta, stationPhi, multiplet );
+
+            std::vector<float>  time          = digit->stripTimeForTrigger();
+            std::vector<float>  charge        = digit->stripChargeForTrigger();
+            std::vector<int>    stripPosition = digit->stripPositionForTrigger();
+
+            std::vector<int>    MMFE_VMM = digit->MMFE_VMM_idForTrigger();
+            std::vector<int>    VMM = digit->VMM_idForTrigger();
+
+            // std::cout << "The length of these vectors for triggers is: " << time.size()          << std::endl;
+            // std::cout << "The length of these vectors for triggers is: " << charge.size()        << std::endl;
+            // std::cout << "The length of these vectors for triggers is: " << stripPosition.size() << std::endl;
+
+
+            bool isValid;
+
+            // int gap=m_MmIdHelper->gasGap(Id);
+
+            fillVars.NSWMM_dig_stationEta.push_back(stationEta);
+            fillVars.NSWMM_dig_stationPhi.push_back(stationPhi);
+            fillVars.NSWMM_dig_multiplet.push_back(multiplet);
+            fillVars.NSWMM_dig_gas_gap.push_back(gas_gap);
+            fillVars.NSWMM_dig_channel.push_back(channel);
+
+            //match to truth particle
+            TLorentzVector truthPart;
+            for(auto it1 : *truthContainer) {  //Must be a more elegant way... should work for now though
+
+              const HepMC::GenEvent *subEvent1 = it1;
+              HepMC::ConstGenEventParticleRange particle_range1 = subEvent1->particle_range();
+
+              for(auto pit1 : particle_range1) {
+                const HepMC::GenParticle *particle1 = pit1;
+                const HepMC::FourVector momentum1 = particle1->momentum();
+
+                //if( particle1->barcode() == deposits[0].first.barcode()) {
+                  truthPart.SetPtEtaPhiE(momentum1.perp(),momentum1.eta(),momentum1.phi(),momentum1.e());
+
+               // }//end if barcode matching
+
+              }//end particle loop
+            }//end truth container loop (1 iteration) for matching
+
+            // theTheta = truthPart.Theta(); //not used yet??
+
+            std::vector<double> localPosX;
+            std::vector<double> localPosY;
+            std::vector<double> globalPosX;
+            std::vector<double> globalPosY;
+            std::vector<double> globalPosZ;
+
+            for (unsigned int i=0; i<stripPosition.size(); i++) {
+              // take strip index form chip information
+              int cr_strip = stripPosition.at(i);
+
+              localPosX.push_back (0.);
+              localPosY.push_back (0.);
+              globalPosX.push_back(0.);
+              globalPosY.push_back(0.);
+              globalPosZ.push_back(0.);
+
+              Identifier cr_id = m_MmIdHelper->channelID(stationName, stationEta, stationPhi, multiplet, gas_gap, cr_strip, true, &isValid);
+              if (!isValid) {
+              //ATH_MSG_WARNING("MicroMegas digitization: failed to create a valid ID for (chip response) strip n. " << cr_strip
+               //                << "; associated positions will be set to 0.0.");
+              } else {
+                  // asking the detector element to get local position of strip
+                  Amg::Vector2D cr_strip_pos(0., 0.);
+                  if ( !rdoEl->stripPosition(cr_id,cr_strip_pos) ) {
+                  //  ATH_MSG_WARNING("MicroMegas digitization: failed to associate a valid local position for (chip response) strip n. " << cr_strip
+                  //               << "; associated positions will be set to 0.0.");
+                  } else {
+                    localPosX.at(i) = cr_strip_pos.x();
+                    localPosY.at(i) = cr_strip_pos.y();
+                  }
+
+                  // asking the detector element to transform this local to the global position
+                  Amg::Vector3D cr_strip_gpos(0., 0., 0.);
+                  rdoEl->surface(cr_id).localToGlobal(cr_strip_pos, Amg::Vector3D(0., 0., 0.), cr_strip_gpos);
+                  globalPosX.at(i) = cr_strip_gpos[0];
+                  globalPosY.at(i) = cr_strip_gpos[1];
+                  globalPosZ.at(i) = cr_strip_gpos[2];
+
+                  // check if local and global position are congruent with the transform
+                  // Amg::Vector3D lpos = rdoEl->transform(cr_id).inverse() * cr_strip_gpos;
+                }
+
+            }//end of strip position loop
+
+
+            //NTUPLE FILL DIGITS
+            fillVars.NSWMM_dig_time.push_back(time);
+            fillVars.NSWMM_dig_charge.push_back(charge);
+            fillVars.NSWMM_dig_stripPosition.push_back(stripPosition);
+            fillVars.NSWMM_dig_stripLposX.push_back(localPosX);
+            fillVars.NSWMM_dig_stripLposY.push_back(localPosY);
+            fillVars.NSWMM_dig_stripGposX.push_back(globalPosX);
+            fillVars.NSWMM_dig_stripGposY.push_back(globalPosY);
+            fillVars.NSWMM_dig_stripGposZ.push_back(globalPosZ);
+            if(globalPosY.size() == 0) continue;
+
+            //if(globalPosY[0]<-100 || globalPosY[0]>100 ) continue; //vector access [] not .at().. be careful
+            // int indexOfFastestSignal = -1;
+            // float earliestTime = 100000;
+            // for (unsigned int i=0;i<stripPosition.size();i++) {
+
+            //   //if(charge[i]<chargeThreshold) continue;
+
+            //   if(time[i]<earliestTime){
+            //     earliestTime =time[i];
+            //     indexOfFastestSignal=i;
+            //   }
+            // }//end of strip poistion loop 2
+
+            // // std::cout << "Index of digit? Should be 0 always if I didn't ***REMOVED*** this up... " << indexOfFastestSignal << std::endl;
+
+            int indexOfFastestSignal = -1;
+
+            if( time.size() ) indexOfFastestSignal = 0;
+
+            if(indexOfFastestSignal == -1) continue;
+            int hit_count=0;
+
+
+            MicromegasHitIdHelper* hitHelper = MicromegasHitIdHelper::GetHelper();
+            MM_SimIdToOfflineId simToOffline(*m_MmIdHelper);
+            for( auto it2 : *nswContainer ) { //get hit variables
+              const GenericMuonSimHit hit = it2;
+              fillVars.NSWMM_globalTime.push_back(hit.globalTime());
+
+              const Amg::Vector3D globalPosition = hit.globalPosition();
+              if(digit_count==0){
+                fillVars.NSWMM_hitGlobalPositionX.push_back(globalPosition.x());
+                fillVars.NSWMM_hitGlobalPositionY.push_back(globalPosition.y());
+                fillVars.NSWMM_hitGlobalPositionZ.push_back(globalPosition.z());
+                fillVars.NSWMM_hitGlobalPositionR.push_back(globalPosition.perp());
+                fillVars.NSWMM_hitGlobalPositionP.push_back(globalPosition.phi());
+                const Amg::Vector3D globalDirection = hit.globalDirection();
+                fillVars.NSWMM_hitGlobalDirectionX.push_back(globalDirection.x());
+                fillVars.NSWMM_hitGlobalDirectionY.push_back(globalDirection.y());
+                fillVars.NSWMM_hitGlobalDirectionZ.push_back(globalDirection.z());
+
+                const Amg::Vector3D localPosition = hit.localPosition();
+                fillVars.NSWMM_hitLocalPositionX.push_back(localPosition.x());
+                fillVars.NSWMM_hitLocalPositionY.push_back(localPosition.y());
+                fillVars.NSWMM_hitLocalPositionZ.push_back(localPosition.z());
+
+                fillVars.NSWMM_particleEncoding.push_back(hit.particleEncoding());
+                fillVars.NSWMM_kineticEnergy.push_back(hit.kineticEnergy());
+                fillVars.NSWMM_depositEnergy.push_back(hit.depositEnergy());
+                fillVars.NSWMM_StepLength.push_back(hit.StepLength());
+              }
+
+              int simId = hit.GenericId();
+              std::string sim_stationName = hitHelper->GetStationName(simId);
+              int sim_stationEta  = hitHelper->GetZSector(simId);
+              int sim_stationPhi  = hitHelper->GetPhiSector(simId);
+              int sim_multilayer  = hitHelper->GetMultiLayer(simId);
+              int sim_layer       = hitHelper->GetLayer(simId);
+              int sim_side        = hitHelper->GetSide(simId);
+
+              // Fill Ntuple with SimId data
+              //fillVars.NSWMM_sim_stationName .push_back(sim_stationName);
+              if(digit_count){
+                fillVars.NSWMM_sim_stationEta  .push_back(sim_stationEta);
+                fillVars.NSWMM_sim_stationPhi  .push_back(sim_stationPhi);
+                fillVars.NSWMM_sim_multilayer  .push_back(sim_multilayer);
+                fillVars.NSWMM_sim_layer       .push_back(sim_layer);
+                fillVars.NSWMM_sim_side        .push_back(sim_side);
+              }
+
+              if(hit.depositEnergy()==0.) continue; // SimHits without energy loss are not recorded.
+
+              if(digit_count==hit_count) {
+
+                // std::cout << "time size: " << time.size() << std::endl;
+                // std::cout << "charge size: " << charge.size() << std::endl;
+                // std::cout << "stripPosition size: " << stripPosition.size() << std::endl;
+
+                // std::cout << "localPosX size: " << localPosX.size() << std::endl;
+                // std::cout << "localPosY size: " << localPosY.size() << std::endl;
+
+                // std::cout << "globalPosX size: " << globalPosX.size() << std::endl;
+                // std::cout << "globalPosY size: " << globalPosY.size() << std::endl;
+                // std::cout << "globalPosZ size: " << globalPosZ.size() << std::endl;
+
+                // std::cout << "digit->stripChargeForTrigger() size: " << digit->stripChargeForTrigger().size() << std::endl;
+                // std::cout << "digit->stripResponseCharge() size: " << digit->stripResponseCharge().size() << std::endl;
+                // std::cout << "digit->chipResponseCharge() size: " << digit->chipResponseCharge().size() << std::endl;
+
+
+                entries.push_back(
+                  // digitWrapper(multiplet,
+                  //              gap,
+                  //              hit.globalTime(),
+                  //              time.at(indexOfFastestSignal),
+                  //              TVector3(-999, -99, -999),//Digits_MM_truth_localPosZ->at(i)),
+                  //              TVector3(localPosX.at(indexOfFastestSignal),
+                  //                       localPosY.at(indexOfFastestSignal),
+                  //                       -999),  //Digits_MM_stripLposZ->at(i).at(indexOfFastestSignal)),
+                  //              TVector3(globalPosX.at(indexOfFastestSignal),
+                  //                       globalPosY.at(indexOfFastestSignal),
+                  //                       globalPosZ.at(indexOfFastestSignal) ),
+                  //              charge.at(indexOfFastestSignal),
+                  //              stripPosition.at(indexOfFastestSignal),
+                  //              abs(stationEta),
+                  //              stationPhi)
+                  digitWrapper(digit,
+                               hit.globalTime(),
+                               TVector3(-999, -99, -999),//Digits_MM_truth_localPosZ->at(i)),
+                               TVector3(localPosX.at(indexOfFastestSignal),
+                                        localPosY.at(indexOfFastestSignal),
+                                        -999),  //Digits_MM_stripLposZ->at(i).at(indexOfFastestSignal)),
+                               TVector3(globalPosX.at(indexOfFastestSignal),
+                                        globalPosY.at(indexOfFastestSignal),
+                                        globalPosZ.at(indexOfFastestSignal) )
+                               )
+                  );
+
+              }
+              hit_count++;
+            }//end of hit cotainer loop */
+         // } //end if sdo
+        digit_count++;
+        } //end iterator digit loop
+      } // end digit container loop (1 for event?)
+
+      vector<digitWrapper> dummy;
+      vector<int> indices;
+      //Truth info for particle (originally primer)
+      int phiSt = 0;
+      if(entries.size() > 0) phiSt = m_MmIdHelper->stationPhi( entries.at(0).id() );
+      evInf_entry particle_info(event,pdg,thePart.E(),thePart.Pt(),thePart.Eta(),etaPosition,etaEntry,phi_shift(thePart.Phi(),wedgeType,phiSt),phi_shift(phi_pos,wedgeType,phiSt),phi_shift(phiEntry,wedgeType,phiSt),thePart.Theta(),theta_pos,theta_ent,theta_ent-theta_pos,TruthParticle_n,MuEntry_Particle_n,vertex);
+      if(wedgeType == "Neither") particle_info.bad_wedge=true;
+      else particle_info.bad_wedge=false;
+
+      vector<digitWrapper> origEntries = entries;
+
+      for(unsigned int i=0; i<entries.size(); i++){
+        if(entries.size() < 8) continue;
+        Identifier tmpID = entries.at(i).id();
+        if     ( m_MmIdHelper->multilayer( tmpID )==1 and m_MmIdHelper->gasGap(tmpID)==1) entries.at(i).gTime = origEntries.at(0).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==1 and m_MmIdHelper->gasGap(tmpID)==2) entries.at(i).gTime = origEntries.at(1).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==1 and m_MmIdHelper->gasGap(tmpID)==3) entries.at(i).gTime = origEntries.at(2).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==1 and m_MmIdHelper->gasGap(tmpID)==4) entries.at(i).gTime = origEntries.at(3).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==2 and m_MmIdHelper->gasGap(tmpID)==1) entries.at(i).gTime = origEntries.at(4).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==2 and m_MmIdHelper->gasGap(tmpID)==2) entries.at(i).gTime = origEntries.at(5).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==2 and m_MmIdHelper->gasGap(tmpID)==3) entries.at(i).gTime = origEntries.at(6).gTime;
+        else if( m_MmIdHelper->multilayer( tmpID )==2 and m_MmIdHelper->gasGap(tmpID)==4) entries.at(i).gTime = origEntries.at(7).gTime;
+      }
+      for(unsigned int i=0; i<entries.size(); i++){
+        float min = 100000;
+        int minIndex=-999;
+        for(unsigned int j=0; j<entries.size(); j++){
+          bool notmindex = true;
+          for (unsigned int k=0; k<indices.size(); k++){
+            if(j==(unsigned int) indices[k]) notmindex=false;
+          }
+          if(notmindex){
+            if(min > entries.at(j).gTime ){
+              minIndex = j;
+              min = entries.at(minIndex).gTime ;
+            }
+          }
+        }
+        if(minIndex < 0) { minIndex = i; }
+        dummy.push_back(entries.at(minIndex));
+        indices.push_back(minIndex);
+      }
+
+      entries = dummy;
+      int min_hits = 1,max_hits = 10000,nent=entries.size();
+
+      uvxxmod=(m_par->setup.compare("xxuvuvxx")==0);
+      //Number of hits cut
+      if(!particle_info.bad_wedge)     particle_info.pass_cut=true; //default is false
+      if(nent<min_hits||nent>max_hits) particle_info.pass_cut=false;
+
+      double tru_phi = -999;
+      if (entries.size() >0) tru_phi=phi_shift(thePart.Phi(),wedgeType,phiSt );
+      double tru_theta=thePart.Theta();
+
+
+      //Theta cut //ALTER THIS FOR BACKGROUND!!!!!
+      // cout<<"tru_theta is "<<tru_theta<<" which should be in ["<<theta_min<<","<<theta_max<<"]"<<endl;
+      //TESTING
+      //if(tru_theta<theta_min||tru_theta>theta_max) particle_info.pass_cut=false;//*** do a theta cut?
+      // if(!particle_info.pass_cut)cout<<"THETAFAIL"<<endl;
+
+      //Phi cut
+      // cout<<"tru_phi is "<<tru_phi<<" which should be in ["<<phi_min<<","<<phi_max<<"]"<<endl;
+      //TESTING
+      //if(tru_phi<phi_min||tru_phi>phi_max) particle_info.pass_cut=false;
+      // if(!particle_info.pass_cut)cout<<"PHIPHAIL"<<endl;
+
+
+      //Hit information in Stephen's code... Starts getting a little weird.
+      map<hitData_key,hitData_entry> hit_info; //Originally "targaryen"
+      vector<hitData_key> keys;
+      // int fstation=0;
+
+      //Loop over entries, which has digitization info for each event
+      for(unsigned int ient=0; ient<entries.size(); ient++){
+        digitWrapper thisSignal=entries.at(ient);
+
+        Identifier tmpID      = thisSignal.id();
+        int thisMultiplet     = m_MmIdHelper->multilayer( tmpID );
+        int thisGasGap        = m_MmIdHelper->gasGap( tmpID );
+        int thisTime          = thisSignal.digit->stripTimeForTrigger().at(0);
+        int thisCharge        = 2; //thisSignal.digit->stripChargeForTrigger().at(0);
+        int thisStripPosition = thisSignal.digit->stripPositionForTrigger().at(0);
+        int thisStationEta    = m_MmIdHelper->stationEta( tmpID );
+        // int thisVMM           = thisSignal.digit->VMM_idForTrigger().at(0);
+
+
+        //DLM_NEW plane assignments
+        //stated [3,2,1,0;7,6,5,4]
+        int thisPlane = (thisMultiplet-1)*4+thisGasGap-1;
+
+        int strip = strip_number(thisStationEta,
+                                 thisPlane,
+                                 thisStripPosition);
+        int thisVMM = Get_VMM_chip(strip);
+
+        // cout<<"SUBSTR CALL MMT_L--0...plane: "<<plane<<", multiplet: "<<thisSignal.multiplet<<endl;
+        int BC_id = ceil( thisTime / 25. );
+
+        TVector3 mazin_check(
+          thisSignal.strip_gpos.X(),
+          thisSignal.strip_gpos.Y(),
+          thisSignal.strip_gpos.Z()
+          );
+
+        TVector3 athena_tru(
+          thisSignal.strip_gpos.X(),
+          thisSignal.strip_gpos.Y()-thisSignal.truth_lpos.Y(),
+          thisSignal.strip_gpos.Z());
+
+        if(m_par->dlm_new){
+          athena_tru.SetX(thisSignal.strip_gpos.X()-thisSignal.strip_lpos.X());
+        }
+
+        TVector3 athena_rec(thisSignal.strip_gpos);
+        //now store some variables BLC initializes; we might trim this down for efficiency later
+        //the following line should be rather easy to one-to-one replace
+
+        TVector3 truth(athena_tru.Y(),-athena_tru.X(),athena_tru.Z()), recon(athena_rec.Y(),-athena_rec.X(),athena_rec.Z());
+
+        if(uvxxmod){
+          xxuv_to_uvxx(truth,thisPlane);xxuv_to_uvxx(recon,thisPlane);
+        }
+
+
+        // int strip = Get_Strip_ID(recon.X(),recon.Y(),plane);
+        // int strip_pos=thisSignal.strip_pos;
+        // int station=thisSignal.eta_station;
+
+        // string schar=m_par->setup.substr(plane,1);
+        // string planeOrientation = m_par->setup.substr(plane,1);
+
+        //we're doing everything by the variable known as "athena_event" to reflect C++ vs MATLAB indexing
+        int btime=(event+1)*10+(BC_id-1);
+        particle_info.NUV_bg_preVMM = 0;   //thisSignal.gtime;
+        int special_time = thisTime + (event+1)*100;
+
+        hitData_entry hit_entry(event,
+                             thisSignal.gTime,
+                             thisCharge,
+                             thisVMM,
+                             thisPlane,
+                             thisStripPosition,
+                             thisStationEta,
+                             tru_theta,
+                             tru_phi,
+                             true,
+                             btime,
+                             special_time,
+                             mazin_check,
+                             mazin_check);
+
+        hit_info[hit_entry.entry_key()]=hit_entry;
+    //     if(debug){ cout<<"Filling hit_info slot: "; hit_entry.entry_key().print();}
+
+        keys.push_back(hit_entry.entry_key()); //may be only used when "incoherent background" is generated (not included for now)
+
+      }//end entries loop
+
+      particle_info.N_hits_preVMM=hit_info.size();
+      particle_info.N_hits_postVMM=0;
+      // unsigned int ir=0;
+
+      //might want to move these somewhere smarter in future
+      VMM_deadtime = 100;
+      num_VMM_per_plane = 1000;
+      VMM_chip_status=vector<vector<bool> >(num_VMM_per_plane,vector<bool>(8,true));
+      VMM__chip_last_hit_time=vector<vector<int> >(num_VMM_per_plane,vector<int>(8,0));
+
+      //*** FIGURE OUT WHAT TO DO WITH THE TIES--IS MIMIC VMM BUSTED? DO WE PLACE THE HIT REQUIREMENTS HERE? (PROBABLY)
+      int xhit=0,uvhit=0,strip_X_tot=0,strip_UV_tot=0;
+      vector<bool>plane_hit(m_par->setup.size(),false);
+
+      for(map<hitData_key,hitData_entry>::iterator it=hit_info.begin(); it!=hit_info.end(); ++it){
+        int plane=it->second.plane;
+        plane_hit[plane]=true;
+        particle_info.N_hits_postVMM++;
+        Hits_Data_Set_Time[it->first]=it->second;
+        if(m_par->setup.substr(plane,1).compare("x")==0){//if(debug)cout<<"ADD X STRIP VALUE "<<it->second.strip<<endl;
+          strip_X_tot+=it->second.strip;
+        }
+        else{
+          strip_UV_tot+=it->second.strip;
+        }
+      }//end map iterator loop
+
+      for(unsigned int ipl=0;ipl<plane_hit.size();ipl++){
+        if(plane_hit[ipl]){
+          if(m_par->setup.substr(ipl,1)=="x") xhit++;
+          else if(m_par->setup.substr(ipl,1)=="u"||m_par->setup.substr(ipl,1)=="v") uvhit++;
+        }
+      }
+      if(xhit==4&&uvhit==4){
+      //  cout<<"and so it's uv("<<strip_UV_tot<<") minus x("<<strip_X_tot<<")*0.25="<<0.25*(strip_UV_tot-strip_X_tot)<<endl;
+        //m_diff_xuv[fstation-1]->Fill(0.25*(strip_UV_tot-strip_X_tot));
+      }
+      particle_info.N_X_hits=xhit;
+      particle_info.N_UV_hits=uvhit;
+      //X and UV hits minumum cut
+      if(xhit<m_par->CT_x) particle_info.pass_cut=false;//return;
+      if(uvhit<m_par->CT_uv) particle_info.pass_cut=false;//return;
+      // if(!particle_info.pass_cut) cout<<"event FAIL at CT cut"<<endl;
+      //*** place any cuts on n_x, n_uv, n_postvmm here...
+
+
+
+      //Moved the removing of some entries to the end of ~Trigger
+      Event_Info[event]=particle_info;
+
+
+
+      // cout<<"Event "<<event<<" did "<<(particle_info.pass_cut?"":"(NOT) ")<<"pass cuts."<<endl;
+
+      histVars = fillVars;
+
+      //ATH_MSG_DEBUG( "fill_mmstrip_cache: end of processing" );
+      }
+
+  double MMLoadVariables::phi_shift(double athena_phi,std::string wedgeType, int stationPhi) const{
+    float n = 2*(stationPhi-1);
+    // float index = stationPhi;
+    // std::cout << "BEFORE PHI " << athena_phi << " STATION " << stationPhi << std::endl;
+    if(wedgeType=="Small") n+=1;
+    float sectorPi = n*TMath::Pi()/8.;
+    if(n>8) sectorPi = (16.-n)*TMath::Pi()/8.;
+    // std::cout << "N " << n << " SHIFT "<< sectorPi << std::endl;
+
+    if(n<8)       return (athena_phi-sectorPi);
+    else if(n==8) return (athena_phi + (athena_phi >= 0? -1:1)*sectorPi);
+    else if(n>8)  return (athena_phi+sectorPi);
+    else return athena_phi;
+
+  }
+  void MMLoadVariables::xxuv_to_uvxx(TVector3& hit,int plane)const{
+    if(plane<4)return;
+    else if(plane==4)hit_rot_stereo_bck(hit);//x to u
+    else if(plane==5)hit_rot_stereo_fwd(hit);//x to v
+    else if(plane==6)hit_rot_stereo_fwd(hit);//u to x
+    else if(plane==7)hit_rot_stereo_bck(hit);//v to x
+  }
+
+  void MMLoadVariables::hit_rot_stereo_fwd(TVector3& hit)const{
+    double degree=TMath::DegToRad()*(m_par->stereo_degree.getFixed());
+    if(striphack) hit.SetY(hit.Y()*cos(degree));
+    else{
+      double xnew=hit.X()*cos(degree)+hit.Y()*sin(degree),ynew=-hit.X()*sin(degree)+hit.Y()*cos(degree);
+      hit.SetX(xnew);hit.SetY(ynew);
+    }
+  }
+
+  void MMLoadVariables::hit_rot_stereo_bck(TVector3& hit)const{
+    double degree=-TMath::DegToRad()*(m_par->stereo_degree.getFixed());
+    if(striphack) hit.SetY(hit.Y()*cos(degree));
+    else{
+      double xnew=hit.X()*cos(degree)+hit.Y()*sin(degree),ynew=-hit.X()*sin(degree)+hit.Y()*cos(degree);
+      hit.SetX(xnew);hit.SetY(ynew);
+    }
+  }
+
+
+  int MMLoadVariables::Get_Strip_ID(double X,double Y,int plane) const{  //athena_strip_id,module_y_center,plane)
+    if(Y==-9999) return -1;
+    string setup(m_par->setup);
+    double strip_width=m_par->strip_width.getFixed(), degree=TMath::DegToRad()*(m_par->stereo_degree.getFixed());//,vertical_strip_width_UV = strip_width/cos(degree);
+    double y_hit=Y;
+    int setl=setup.length();
+    if(plane>=setl||plane<0){
+      cerr<<"Pick a plane in [0,"<<setup.length()<<"] not "<<plane<<endl; exit(1);
+    }
+  //   if(debug) cout<<"SUBSTR CALL MMT_L--2\n";
+    string xuv=setup.substr(plane,1);
+    if(xuv=="u"){//||xuv=="v"){
+      if(striphack)return ceil(Y*cos(degree)/strip_width);
+      y_hit = X*sin(degree)+Y*cos(degree);
+    }
+    else if(xuv=="v"){
+      if(striphack)return ceil(Y*cos(degree)/strip_width);
+      y_hit = -X*sin(degree)+Y*cos(degree);
+      // cout<<"-X*sin("<<degree<<")+Y*cos(degree) is"<<-X*sin(degree)+Y*cos(degree)<<endl;
+    }
+    else if(xuv!="x"){
+      cerr<<"Invalid plane option " << xuv << endl; exit(2);
+    }
+    double strip_hit = ceil(y_hit*1./strip_width);
+    // cout <<"(y_hit="<<y_hit<<"), "<< strip_hit<<endl;
+    return strip_hit;
+  }
+
+  int MMLoadVariables::Get_VMM_chip(int strip) const{  //Not Finished... Rough
+    int strips_per_VMM = 64;
+    return ceil(1.*strip/strips_per_VMM);
+  }
+
+  int MMLoadVariables::strip_number(int station,int plane,int spos)const{
+    //assert(station>0&&station<=m_par->n_stations_eta);
+    //assert(plane>=0&&plane<(int)m_par->setup.size());
+    if (station<=0||station>m_par->n_stations_eta) {
+      int base_strip = 0;
+
+      return base_strip;
+    }
+    if (plane<0||plane>(int)m_par->setup.size()) {
+      int base_strip = 0;
+
+      return base_strip;
+    }
+    // bool do_auto=false;
+    //if true do strip # (ceil(Y/strip_width); what's currently fed into the algorithm)  calculation based on evenly spaced eta assumption of stations
+    // double H=m_par->H.getFixed();
+    // double ybase=m_par->ybases[plane][station-1].getFixed();
+    // if(do_auto){
+    //   //-log(tan(0.5(atan(y/z))))=eta
+    //   //this is the even y spacing
+    //   if(m_par->dlm_new) ybase=H+1100.*(station-1);
+    //   else ybase=H+950.*(station-1);
+    //   //this is the even eta spacing version
+    //   double etalo=-log(tan(0.5*atan((h+H)/z))),etahi=-log(tan(0.5*atan(H/z))),inc=(etahi-etalo)/m_par->n_stations_eta;
+    //   double this_eta=etalo+inc*(station-1);
+    //   ybase=z*tan(2*atan(exp(-1.*this_eta)));
+    // }
+    // double width=m_par->strip_width.getFixed(); string plane_char=m_par->setup.substr(plane,1);
+  //   if(plane_char.compare("u")==0||plane_char.compare("v")==0) width/=cos(TMath::DegToRad()*(m_par->stereo_degree));
+    int base_strip=/*ceil(ybase/width)+*/spos;
+    return base_strip;
+  }
+  std::string MMLoadVariables::getWedgeType(const MmDigitContainer *nsw_MmDigitContainer){
+    std::vector<bool> isLargeWedge;
+    //Digit loop to match to truth
+    for(auto digitCollectionIter : *nsw_MmDigitContainer) {
+
+      const MmDigitCollection* digitCollection = digitCollectionIter;
+      for (unsigned int item=0; item<digitCollection->size(); item++) {
+
+        const MmDigit* digit = digitCollection->at(item);
+        Identifier Id = digit->identify();
+
+          std::string stName   = m_MmIdHelper->stationNameString(m_MmIdHelper->stationName(Id));
+          string sname(stName);
+          if (sname.compare("MML")==0)isLargeWedge.push_back(true);
+          else isLargeWedge.push_back(false);
+      }
+    }
+    bool allLarge = true;
+    bool allSmall = true;
+    for(unsigned int i=0; i<isLargeWedge.size(); i++){
+      if (isLargeWedge.at(i)) allSmall = false;
+      else allLarge = false;
+    }
+    std::string wedgeType = "Neither";
+    if (allLarge) wedgeType = "Large";
+    if (allSmall) wedgeType = "Small";
+    return wedgeType;
+  }
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.h
new file mode 100644
index 00000000000..727916c62e4
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.h
@@ -0,0 +1,219 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMLOADVARIABLES_H
+#define MMLOADVARIABLES_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "GaudiKernel/Property.h"
+
+
+//forward declarations
+//class IIncidentSvc;
+//class IAtRndmGenSvc;
+class MmIdHelper;
+class MmDigit;
+class TTree;
+
+//C++ language libararies
+#include <dirent.h>
+#include <map>
+#include <vector>
+#include <string>
+#include <fstream>
+#include <cmath>
+#include <cstdlib>
+#include <cstdio>
+#include <iostream>
+
+//Muon Software Includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/MMReadoutElement.h"
+#include "MuonIdHelpers/MmIdHelper.h"
+#include "MuonDigitContainer/MmDigitContainer.h"
+#include "MuonDigitContainer/MmDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+#include "MuonSimEvent/GenericMuonSimHitCollection.h"
+#include "MuonSimEvent/MM_SimIdToOfflineId.h"
+//#include "MuonReadoutGeometry/NSWenumeration.h"
+//#include "MuonReadoutGeometry/NSWgeometry.h"
+#include "GeneratorObjects/McEventCollection.h"
+#include "HepMC/GenEvent.h"
+#include "HepMC/GenVertex.h"
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+#include "TrackRecord/TrackRecordCollection.h"
+#include "CLHEP/Vector/ThreeVector.h"
+
+//ROOT libraries
+#include "TMultiGraph.h"
+#include "TCanvas.h"
+#include "TColor.h"
+#include "TGraphErrors.h"
+#include "TLatex.h"
+#include "TStyle.h"
+#include "TH2D.h"
+#include "Rtypes.h"
+#include "TTree.h"
+#include "TFile.h"
+#include "TObject.h"
+#include "TROOT.h"
+#include "TH1F.h"
+#include "TRandom3.h"
+#include "TF1.h"
+#include "TLorentzVector.h"
+#include "MMT_struct.h"
+#include "MMT_Finder.h"
+#include "MMT_Fitter.h"
+namespace MuonGM {
+  class MuonDetectorManager;
+}
+
+
+  class MMLoadVariables {
+
+  public:
+
+    MMLoadVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, const MmIdHelper* idhelper, MMT_Parameters *par);
+   ~MMLoadVariables();
+
+    void getMMDigitsInfo(vector<digitWrapper>& entries, map<hitData_key,hitData_entry>& Hits_Data_Set_Time, map<int,evInf_entry>& Event_Info);
+
+    string nom;
+
+    //map<hitData_key,hitData_entry> Hits_Data_Set_Time;//key is hit_index? <BC_time,time>?
+
+    //VMM info
+    vector<vector<bool> > VMM_chip_status;
+    vector<vector<int> > VMM__chip_last_hit_time;
+    bool Mimic_VMM_Chip_Deadtime(hitData_entry& candy);
+    double VMM_deadtime;
+    int num_VMM_per_plane;
+
+    //Import_Athena..._.m stuff
+    double phi_shift(double athena_phi,std::string wedgeType, int stationPhi) const;
+    int Get_VMM_chip(int strip) const;  //*** Not Finished... Rough
+    int strip_number(int station,int plane,int spos)const;
+    int Get_Strip_ID(double X,double Y,int plane) const;
+
+    //x <---> u/v switches
+    bool uvxxmod;
+    void xxuv_to_uvxx(TVector3& hit,int plane)const;
+    void hit_rot_stereo_fwd(TVector3& hit)const;//x to v, u to x
+    void hit_rot_stereo_bck(TVector3& hit)const;//x to u, v to x
+
+    //Hist stuff
+    //TH1::SetDefaultSumw2();
+    //TH1D *m_fit_the;
+    //event counter should be fixed when code is better understood
+    int evtcount = 0;
+
+    struct histogramVariables{
+        std::vector<std::string> *m_NSWMM_dig_stationName;
+        std::vector<int> NSWMM_dig_stationEta;
+        std::vector<int> NSWMM_dig_stationPhi;
+        std::vector<int> NSWMM_dig_multiplet;
+        std::vector<int> NSWMM_dig_gas_gap;
+        std::vector<int> NSWMM_dig_channel;
+
+        std::vector< std::vector<float> >  NSWMM_dig_time;
+        std::vector< std::vector<float> >  NSWMM_dig_charge;
+        std::vector< std::vector<int> >    NSWMM_dig_stripPosition;
+        std::vector< std::vector<double> > NSWMM_dig_stripLposX;
+        std::vector< std::vector<double> > NSWMM_dig_stripLposY;
+        std::vector< std::vector<double> > NSWMM_dig_stripGposX;
+        std::vector< std::vector<double> > NSWMM_dig_stripGposY;
+        std::vector< std::vector<double> > NSWMM_dig_stripGposZ;
+        std::vector< std::vector<float> >  NSWMM_dig_sr_time;
+        std::vector< std::vector<float> >  NSWMM_dig_sr_charge;
+        std::vector< std::vector<int> >    NSWMM_dig_sr_stripPosition;
+        std::vector< std::vector<double> > NSWMM_dig_sr_stripLposX;
+        std::vector< std::vector<double> > NSWMM_dig_sr_stripLposY;
+        std::vector< std::vector<double> > NSWMM_dig_sr_stripGposX;
+        std::vector< std::vector<double> > NSWMM_dig_sr_stripGposY;
+        std::vector< std::vector<double> > NSWMM_dig_sr_stripGposZ;
+
+        std::vector< int    > NSWMM_dig_truth_barcode;
+        std::vector< double > NSWMM_dig_truth_localPosX;
+        std::vector< double > NSWMM_dig_truth_localPosY;
+        std::vector< double > NSWMM_dig_truth_globalPosX;
+        std::vector< double > NSWMM_dig_truth_globalPosY;
+        std::vector< double > NSWMM_dig_truth_globalPosZ;
+        std::vector< float  > NSWMM_dig_truth_XZ_angle;
+
+        std::vector<int>   NSWMM_dig_stripForTrigger;
+        std::vector<float> NSWMM_dig_stripTimeForTrigger;
+
+
+        std::vector<int>    NSWMM_trackId;
+        std::vector<int>    NSWMM_truthEl;
+        std::vector<double> NSWMM_globalTime;
+        std::vector<double> NSWMM_hitGlobalPositionX;
+        std::vector<double> NSWMM_hitGlobalPositionY;
+        std::vector<double> NSWMM_hitGlobalPositionZ;
+        std::vector<double> NSWMM_hitGlobalPositionR;
+        std::vector<double> NSWMM_hitGlobalPositionP;
+        std::vector<double> NSWMM_hitGlobalDirectionX;
+        std::vector<double> NSWMM_hitGlobalDirectionY;
+        std::vector<double> NSWMM_hitGlobalDirectionZ;
+
+        std::vector<double> NSWMM_hitLocalPositionX;
+        std::vector<double> NSWMM_hitLocalPositionY;
+        std::vector<double> NSWMM_hitLocalPositionZ;
+
+        std::vector<double> NSWMM_detector_globalPositionX;
+        std::vector<double> NSWMM_detector_globalPositionY;
+        std::vector<double> NSWMM_detector_globalPositionZ;
+        std::vector<double> NSWMM_detector_globalPositionR;
+        std::vector<double> NSWMM_detector_globalPositionP;
+
+        std::vector<double> NSWMM_hitToDsurfacePositionX;
+        std::vector<double> NSWMM_hitToDsurfacePositionY;
+        std::vector<double> NSWMM_hitToDsurfacePositionZ;
+
+        std::vector<double> NSWMM_hitToRsurfacePositionX;
+        std::vector<double> NSWMM_hitToRsurfacePositionY;
+        std::vector<double> NSWMM_hitToRsurfacePositionZ;
+
+
+        std::vector<int> NSWMM_particleEncoding;
+        std::vector<double> NSWMM_kineticEnergy;
+        std::vector<double> NSWMM_depositEnergy;
+        std::vector<double> NSWMM_StepLength;
+
+        std::vector<std::string> NSWMM_sim_stationName;
+        std::vector<int> NSWMM_sim_stationEta;
+        std::vector<int> NSWMM_sim_stationPhi;
+        std::vector<int> NSWMM_sim_multilayer;
+        std::vector<int> NSWMM_sim_layer;
+        std::vector<int> NSWMM_sim_side;
+
+        std::vector<std::string> NSWMM_off_stationName;
+        std::vector<int> NSWMM_off_stationEta;
+        std::vector<int> NSWMM_off_stationPhi;
+        std::vector<int> NSWMM_off_multiplet;
+        std::vector<int> NSWMM_off_gas_gap;
+        std::vector<int> NSWMM_off_channel;
+    };
+    histogramVariables histVars;
+
+
+  private:
+
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const MmIdHelper*                  m_MmIdHelper;        //!< MM offline Id helper
+    StoreGateSvc*                      m_evtStore;
+    MMT_Parameters* m_par;
+    bool striphack = false;
+    std::string getWedgeType(const MmDigitContainer *nsw_MmDigitContainer);
+
+
+  };
+
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripData.cxx
new file mode 100644
index 00000000000..06f241996a4
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripData.cxx
@@ -0,0 +1,17 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#include "TrigT1NSWSimTools/MMStripData.h"
+
+std::ostream& operator<<(std::ostream& stream, NSWL1::MMStripData& data) {
+    stream << "MM strip hit at side " << ( (data.sideId())? "A":"C")
+           << ", trigger sector "     << data.sectorId()
+           << ", module "             << data.moduleId()
+           << ", multiplet "          << data.multipletId()
+           << ", gas gap "            << data.gasGapId();
+
+    return stream;
+}
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.cxx
new file mode 100644
index 00000000000..bd07cd730fb
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.cxx
@@ -0,0 +1,72 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+//Local includes
+#include "MMStripOfflineData.h"
+
+#include <string>
+
+
+namespace NSWL1 {
+
+    MMStripOfflineData::MMStripOfflineData(Identifier id, const MmIdHelper* helper) : 
+    MMStripData(),
+    m_id(id), m_helper(helper) //,m_mmstrip_charge(charge)
+    {}
+
+    MMStripOfflineData::~MMStripOfflineData() {
+        // MMStripOfflineData doesn't own the helper, so nothing to do here
+    }
+
+    void MMStripOfflineData::setTrigBCID(int bcid) {
+      m_trig_bcid = bcid;
+    }
+
+
+  //void MMStripOfflineData::setStripCharge(float charge) {
+  //  m_mmstrip_charge = charge;
+  // }
+
+    //! methods for retrieving the bare data
+    uint32_t MMStripOfflineData::id()     const { return m_id.get_identifier32().get_compact(); }
+    float MMStripOfflineData::charge()    const { return m_mmstrip_charge; }
+    int MMStripOfflineData::trig_BCID()        const { return m_trig_bcid; }
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int MMStripOfflineData::sideId()      const { 
+        if (m_helper)  return (m_helper->stationEta(m_id)<0)? 0 : 1;
+        return -1;
+    }
+
+    int MMStripOfflineData::moduleId()    const {
+        if (m_helper)  return std::abs(m_helper->stationEta(m_id))-1;
+        return -1;
+    }
+
+    int MMStripOfflineData::sectorId()    const {
+        if (m_helper) {
+            std::string stName = m_helper->stationNameString(m_helper->stationName(m_id));
+            bool isSmall = stName[2]=='S';
+            return (isSmall)? m_helper->stationPhi(m_id)*2 - 1 : m_helper->stationPhi(m_id)*2 - 2;
+        }
+        return -1;
+    }
+
+    int MMStripOfflineData::multipletId() const {
+        if (m_helper) return m_helper->multilayer(m_id) - 1;
+        return -1;
+    }
+
+    int MMStripOfflineData::gasGapId()    const {
+        if (m_helper) return m_helper->gasGap(m_id) - 1;
+        return -1;
+    }
+
+    int MMStripOfflineData::channelId()   const {
+        if (m_helper) return m_helper->channel(m_id) - 1;
+        return -1;
+    }
+
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.h
new file mode 100644
index 00000000000..0971b86bb99
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripOfflineData.h
@@ -0,0 +1,69 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMSTRIPOFFLINEDATA_H
+#define MMSTRIPOFFLINEDATA_H
+
+// Identifier includes
+#include "Identifier/Identifier.h"
+#include "MuonIdHelpers/MmIdHelper.h"
+
+// local includes
+#include "TrigT1NSWSimTools/MMStripData.h" 
+
+// forward declarations
+class TVector3;
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short class modeling the strip hit fragment for the NSW L1 offline simulation
+   *
+   * This holds the hit offline identifier with the corresponding helper plus the following:
+   * strip charge. Additional data can be added providing the relative access methods are
+   * also added in the abstract class.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>, Geraldine Conti <geraldine.conti@cern.ch>
+   *
+   *
+   */
+
+  class MMStripOfflineData: public MMStripData {
+
+  private:
+    const Identifier    m_id;            //!< offline identifier of the strip hit
+    const MmIdHelper* m_helper;          //!< helper for the identifier decoding
+
+    int                 m_trig_bcid;     //!< trig BCID
+    float m_mmstrip_charge;             //!< strip charge
+
+  public:
+    MMStripOfflineData(Identifier id, const MmIdHelper* helper);
+    ~MMStripOfflineData();
+
+    //void setStripCharge(float charge);   //!< set the strip charge
+    void setTrigBCID(int bcid);          //!< set the trig BCID        
+
+    //! methods for retrieving the bare data
+    uint32_t id()     const;  //!< get the 32 bit word identifing the fragment
+    int BCID()        const;  //!< get the BCID
+    float charge()     const;  //!< get the charge
+    int trig_BCID()    const;  //!< get the BCID
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int sideId()      const;  //!< get the side (0==sideC, 1==sideA)
+    int moduleId()    const;  //!< get the physics module (ranging from 0 at lowest R to 1 at highest R)
+    int sectorId()    const;  //!< get the sector         (ranging from 0 to 15)
+    int multipletId() const;  //!< get the multiplet      (ranging from 0 to 1, 1 is at lowest |z|)
+    int gasGapId()    const;  //!< get the gas gap        (ranging from 0 to 3, 1 is at lowest |z|)
+    int channelId()   const;  //!< get the channel
+
+  };  // end of MMStripOfflineData class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.cxx
new file mode 100644
index 00000000000..a7cf0f89eda
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.cxx
@@ -0,0 +1,916 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+// local includes
+#include "MMStripTdsOfflineTool.h"
+#include "MMStripOfflineData.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+//#include "HitManagement/TimedHitPtr.h"
+
+// Muon software includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/MMReadoutElement.h"
+#include "MuonIdHelpers/MmIdHelper.h"
+#include "MuonDigitContainer/MmDigitContainer.h"
+#include "MuonDigitContainer/MmDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+#include "MuonSimEvent/GenericMuonSimHitCollection.h"
+#include "MuonSimEvent/MM_SimIdToOfflineId.h"
+//#include "MuonReadoutGeometry/NSWenumeration.h"
+//#include "MuonReadoutGeometry/NSWgeometry.h"
+#include "GeneratorObjects/McEventCollection.h"
+#include "HepMC/GenEvent.h"
+#include "HepMC/GenVertex.h"
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+#include "TrackRecord/TrackRecordCollection.h"
+#include "CLHEP/Vector/ThreeVector.h"
+
+
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+#include "TMath.h"
+//#include "MMStripUtil.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility>
+
+using namespace std;
+
+const bool striphack=true;
+
+namespace NSWL1 {
+
+    struct MMStripHits {
+      Identifier          t_id;
+      MMStripOfflineData* t_mmstrip;
+      int                 t_cache_index;
+
+      // constructor
+      MMStripHits(Identifier id, MMStripOfflineData* p, int c) { t_id = id; t_mmstrip=p; t_cache_index=c; }
+    };
+
+    typedef std::map < Identifier,std::vector<MMStripHits> > MMSTRIP_MAP;
+    typedef std::map < Identifier,std::vector<MMStripHits> >::iterator MMSTRIP_MAP_IT;
+    typedef std::pair< Identifier,std::vector<MMStripHits> > MMSTRIP_MAP_ITEM;
+
+
+    MMStripTdsOfflineTool::MMStripTdsOfflineTool( const std::string& type, const std::string& name, const IInterface* parent) :
+      AthAlgTool(type,name,parent),
+      m_incidentSvc("IncidentSvc",name),
+      m_rndmSvc("AtRndmGenSvc",name),
+      m_rndmEngine(0),
+      m_detManager(0),
+      m_MmIdHelper(0),
+      m_mmstrip_cache_runNumber(-1),
+      m_mmstrip_cache_eventNumber(-1),
+      m_mmstrip_cache_status(CLEARED),
+      m_rndmEngineName(""),
+      m_MmDigitContainer(""),
+      m_MmSdoContainer(""),
+      m_doNtuple(false),
+      m_tree(0)
+
+
+    {
+      declareInterface<NSWL1::IMMStripTdsTool>(this);
+
+      declareProperty("RndmEngineName", m_rndmEngineName = "MMStripTdsOfflineTool", "the name of the random engine");
+      declareProperty("MM_DigitContainerName", m_MmDigitContainer = "MM_DIGITS", "the name of the MM digit container");
+      declareProperty("MM_SdoContainerName"  , m_MmSdoContainer = "MM_SDO", "the name of the MM SDO container");
+      declareProperty("MM_HitContainerName"  , m_MmHitContainer = "MicromegasSensitiveDetector", "the name of the MM hits container");
+      declareProperty("DoNtuple", m_doNtuple = true, "input the MMStripTds branches into the analysis ntuple");
+      declareProperty("Truth_ContainerName", m_Truth_ContainerName="TruthEvent","name of truth container");
+      declareProperty("MuonEntryLayer_ContainerName", m_MuEntry_ContainerName="MuonEntryLayer", "name of muon entry container");
+
+      // reserve enough slots for the trigger sectors and fills empty vectors
+      m_mmstrip_cache.reserve(32);
+      std::vector< std::vector<MMStripData*> >::iterator it = m_mmstrip_cache.begin();
+      m_mmstrip_cache.insert(it,32,std::vector<MMStripData*>());
+    }
+
+    MMStripTdsOfflineTool::~MMStripTdsOfflineTool() {
+      // clear the internal cache
+      this->clear_cache();
+    }
+
+    void MMStripTdsOfflineTool::clear_cache() {
+      for (unsigned int i=0; i<m_mmstrip_cache.size(); i++) {
+        std::vector<MMStripData*>& sector_mmstrips = m_mmstrip_cache.at(i);
+        for (unsigned int p=0; p< sector_mmstrips.size(); p++) {
+          delete sector_mmstrips.at(p);
+        }
+        sector_mmstrips.clear();
+      }
+    }
+
+    StatusCode MMStripTdsOfflineTool::initialize() {
+
+
+      ATH_MSG_INFO( "initializing " << name() );
+
+      ATH_MSG_INFO( name() << " configuration:");
+      ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_rndmEngineName.name() << m_rndmEngineName.value());
+      ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_MmDigitContainer.name() << m_MmDigitContainer.value());
+      ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_MmSdoContainer.name() << m_MmSdoContainer.value());
+      ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
+                       << setfill(' ') << setiosflags(ios::right) );
+
+
+
+      const IInterface* parent = this->parent();
+      const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+      std::string algo_name = pnamed->name();
+
+      if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        ITHistSvc* tHistSvc;
+        StatusCode sc = service("THistSvc", tHistSvc);
+        if(sc.isFailure()) {
+          ATH_MSG_FATAL("Unable to retrieve THistSvc");
+          return sc;
+        }
+
+        char ntuple_name[40];
+        memset(ntuple_name,'\0',40*sizeof(char));
+        sprintf(ntuple_name,"%sTree",algo_name.c_str());
+
+        m_tree = 0;
+        sc = tHistSvc->getTree(ntuple_name,m_tree);
+        if (sc.isFailure()) {
+          this->clear_ntuple_variables();
+          ATH_MSG_FATAL("Could not retrieve the analysis ntuple from the THistSvc");
+          return sc;
+        } else {
+          ATH_MSG_INFO("Analysis ntuple succesfully retrieved");
+          sc = this->book_branches();
+          if (sc.isFailure()) {
+            ATH_MSG_ERROR("Cannot book the branches for the analysis ntuple");
+          }
+        }
+
+      } else this->clear_ntuple_variables();
+
+      // retrieve the Incident Service
+      if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+      }
+      m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+      // retrieve the Random Service
+      if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+      }
+
+      // retrieve the random engine
+      m_rndmEngine = m_rndmSvc->GetEngine(m_rndmEngineName);
+      if (m_rndmEngine==0) {
+        ATH_MSG_FATAL("Could not retrieve the random engine " << m_rndmEngineName);
+        return StatusCode::FAILURE;
+      }
+
+      //  retrieve the MuonDetectormanager
+      if( detStore()->retrieve( m_detManager ).isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+      }
+
+      //  retrieve the Mm offline Id helper
+      if( detStore()->retrieve( m_MmIdHelper ).isFailure() ){
+        ATH_MSG_FATAL("Failed to retrieve MmIdHelper");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("MmIdHelper successfully retrieved");
+      }
+
+      return StatusCode::SUCCESS;
+    }
+
+    void MMStripTdsOfflineTool::handle(const Incident& inc) {
+      if( inc.type()==IncidentType::BeginEvent ) {
+        this->clear_cache();
+        this->reset_ntuple_variables();
+        m_mmstrip_cache_status = CLEARED;
+      }
+    }
+
+
+    StatusCode MMStripTdsOfflineTool::book_branches() {
+
+      m_fitThe = new std::vector<double>();
+      m_fitPhi = new std::vector<double>();
+      m_fitDth = new std::vector<double>();
+      tru_etarange = new std::vector<double>();
+      tru_ptrange = new std::vector<double>();
+      fit_etarange = new std::vector<double>();
+      fit_ptrange = new std::vector<double>();
+      res_the = new std::vector<double>();
+      res_phi =  new std::vector<double>();
+      res_dth = new std::vector<double>();
+
+      m_NSWMM_dig_stationName = new std::vector<std::string>();
+      m_NSWMM_dig_stationEta  = new std::vector<int>();
+      m_NSWMM_dig_stationPhi  = new std::vector<int>();
+      m_NSWMM_dig_multiplet   = new std::vector<int>();
+      m_NSWMM_dig_gas_gap     = new std::vector<int>();
+      m_NSWMM_dig_channel     = new std::vector<int>();
+
+      m_NSWMM_dig_time          = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_charge        = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_stripPosition = new std::vector< std::vector<int> >;
+      m_NSWMM_dig_stripLposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripLposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripGposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripGposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripGposZ    = new std::vector< std::vector<double> >;
+
+      m_NSWMM_dig_sr_time          = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_sr_charge        = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_sr_stripPosition = new std::vector< std::vector<int> >;
+      m_NSWMM_dig_sr_stripLposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripLposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripGposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripGposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripGposZ    = new std::vector< std::vector<double> >;
+
+      m_NSWMM_dig_truth_barcode    = new std::vector<int>;
+      m_NSWMM_dig_truth_localPosX  = new std::vector<double>;
+      m_NSWMM_dig_truth_localPosY  = new std::vector<double>;
+      m_NSWMM_dig_truth_XZ_angle   = new std::vector<float>;
+      m_NSWMM_dig_truth_globalPosX = new std::vector<double>;
+      m_NSWMM_dig_truth_globalPosY = new std::vector<double>;
+      m_NSWMM_dig_truth_globalPosZ = new std::vector<double>;
+
+      //m_NSWMM_dig_stripForTrigger     = new std::vector<int>;
+      //m_NSWMM_dig_stripTimeForTrigger = new std::vector<float>;
+
+
+
+      m_NSWMM_trackId  = new std::vector<int>;
+      m_NSWMM_truthEl  = new std::vector<int>;
+      m_NSWMM_globalTime = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionX = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionY = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionZ = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionR = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionP = new std::vector<double>;
+      m_NSWMM_hitGlobalDirectionX = new std::vector<double>;
+      m_NSWMM_hitGlobalDirectionY = new std::vector<double>;
+      m_NSWMM_hitGlobalDirectionZ = new std::vector<double>;
+
+      m_NSWMM_hitLocalPositionX = new std::vector<double>;
+      m_NSWMM_hitLocalPositionY = new std::vector<double>;
+      m_NSWMM_hitLocalPositionZ = new std::vector<double>;
+
+      m_NSWMM_detector_globalPositionX = new std::vector<double>;
+      m_NSWMM_detector_globalPositionY = new std::vector<double>;
+      m_NSWMM_detector_globalPositionZ = new std::vector<double>;
+      m_NSWMM_detector_globalPositionR = new std::vector<double>;
+      m_NSWMM_detector_globalPositionP = new std::vector<double>;
+
+      m_NSWMM_hitToDsurfacePositionX = new std::vector<double>;
+      m_NSWMM_hitToDsurfacePositionY = new std::vector<double>;
+      m_NSWMM_hitToDsurfacePositionZ = new std::vector<double>;
+
+      m_NSWMM_hitToRsurfacePositionX = new std::vector<double>;
+      m_NSWMM_hitToRsurfacePositionY = new std::vector<double>;
+      m_NSWMM_hitToRsurfacePositionZ = new std::vector<double>;
+
+      m_NSWMM_particleEncoding = new std::vector<int>;
+      m_NSWMM_kineticEnergy = new std::vector<double>;
+      m_NSWMM_depositEnergy = new std::vector<double>;
+      m_NSWMM_StepLength = new std::vector<double>;
+
+
+      m_NSWMM_sim_stationName = new std::vector<std::string>;
+      m_NSWMM_sim_stationEta  = new std::vector<int>;
+      m_NSWMM_sim_stationPhi  = new std::vector<int>;
+      m_NSWMM_sim_multilayer  = new std::vector<int>;
+      m_NSWMM_sim_layer       = new std::vector<int>;
+      m_NSWMM_sim_side        = new std::vector<int>;
+
+      m_NSWMM_off_stationName = new std::vector<std::string>;
+      m_NSWMM_off_stationEta  = new std::vector<int>;
+      m_NSWMM_off_stationPhi  = new std::vector<int>;
+      m_NSWMM_off_multiplet   = new std::vector<int>;
+      m_NSWMM_off_gas_gap     = new std::vector<int>;
+      m_NSWMM_off_channel     = new std::vector<int>;
+      /*m_nMMStripHits = 0;
+      m_MMhitPDGId  = new std::vector<int>();
+      m_MMhitDepositEnergy = new std::vector<float>();
+      m_MMhitKineticEnergy = new std::vector<float>();
+      m_mmstripGlobalX = new std::vector<float>();
+      m_mmstripGlobalY = new std::vector<float>();
+      m_mmstripGlobalZ = new std::vector<float>();
+      m_mmstripTruthHitGlobalX = new std::vector<float>();
+      m_mmstripTruthHitGlobalY = new std::vector<float>();
+      m_mmstripTruthHitGlobalZ = new std::vector<float>(); */
+
+      if (m_tree) {
+        std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
+        const char* n = ToolName.c_str();
+        m_tree->Branch(TString::Format("%s_fitThe",n).Data(),&m_fitThe);
+        m_tree->Branch(TString::Format("%s_fitPhi",n).Data(),&m_fitPhi);
+        m_tree->Branch(TString::Format("%s_fitDth",n).Data(),&m_fitDth);
+        m_tree->Branch(TString::Format("%s_tru_etarange",n).Data(),&tru_etarange);
+        m_tree->Branch(TString::Format("%s_tru_ptrange",n).Data(),&tru_ptrange);
+        m_tree->Branch(TString::Format("%s_fit_etarange",n).Data(),&fit_etarange);
+        m_tree->Branch(TString::Format("%s_fit_ptrange",n).Data(),&fit_ptrange);
+        m_tree->Branch(TString::Format("%s_res_the",n).Data(),&res_the);
+        m_tree->Branch(TString::Format("%s_res_phi",n).Data(),&res_phi);
+        m_tree->Branch(TString::Format("%s_res_dth",n).Data(),&res_dth);
+
+        /*
+        m_tree->Branch(TString::Format("%s_nMMStripHits",n).Data(),&m_nMMStripHits,TString::Format("%s_nMMStripHits/i",n).Data());
+
+        m_tree->Branch(TString::Format("%s_MMhitPDGId",n).Data(),&m_MMhitPDGId);
+        m_tree->Branch(TString::Format("%s_MMhitDepositEnergy",n).Data(),&m_MMhitDepositEnergy);
+        m_tree->Branch(TString::Format("%s_MMhitKineticEnergy",n).Data(),&m_MMhitKineticEnergy);
+        m_tree->Branch(TString::Format("%s_mmstripGlobalX",n).Data(),&m_mmstripGlobalX);
+        m_tree->Branch(TString::Format("%s_mmstripGlobalY",n).Data(),&m_mmstripGlobalY);
+        m_tree->Branch(TString::Format("%s_mmstripGlobalZ",n).Data(),&m_mmstripGlobalZ);
+        m_tree->Branch(TString::Format("%s_mmstripTruthHitGlobalX",n).Data(),&m_mmstripTruthHitGlobalX);
+        m_tree->Branch(TString::Format("%s_mmstripTruthHitGlobalY",n).Data(),&m_mmstripTruthHitGlobalY);
+        m_tree->Branch(TString::Format("%s_mmstripTruthHitGlobalZ",n).Data(),&m_mmstripTruthHitGlobalZ);
+        */
+
+       // m_tree->Branch(TString::Format("%s_mmstripGlobalX",n).Data(),&m_mmstripGlobalX);
+       // m_tree->Branch(TString::Format("%s_mmstripGlobalY",n).Data(),&m_mmstripGlobalY);
+       // m_tree->Branch(TString::Format("%s_mmstripGlobalZ",n).Data(),&m_mmstripGlobalZ);
+
+       // m_tree->Branch("Digits_MM",    &m_NSWMM_nDigits, "Digits_MM_n/i");
+        m_tree->Branch("Digits_MM_stationName", &m_NSWMM_dig_stationName);
+        m_tree->Branch("Digits_MM_stationEta",  &m_NSWMM_dig_stationEta);
+        m_tree->Branch("Digits_MM_stationPhi",  &m_NSWMM_dig_stationPhi);
+        m_tree->Branch("Digits_MM_multiplet",   &m_NSWMM_dig_multiplet);
+        m_tree->Branch("Digits_MM_gas_gap",     &m_NSWMM_dig_gas_gap);
+        m_tree->Branch("Digits_MM_channel",     &m_NSWMM_dig_channel);
+
+        m_tree->Branch("Digits_MM_time",          &m_NSWMM_dig_time);
+        m_tree->Branch("Digits_MM_charge",        &m_NSWMM_dig_charge);
+        m_tree->Branch("Digits_MM_stripPosition", &m_NSWMM_dig_stripPosition);
+        m_tree->Branch("Digits_MM_stripLposX",    &m_NSWMM_dig_stripLposX);
+        m_tree->Branch("Digits_MM_stripLposY",    &m_NSWMM_dig_stripLposY);
+        m_tree->Branch("Digits_MM_stripGposX",    &m_NSWMM_dig_stripGposX);
+        m_tree->Branch("Digits_MM_stripGposY",    &m_NSWMM_dig_stripGposY);
+        m_tree->Branch("Digits_MM_stripGposZ",    &m_NSWMM_dig_stripGposZ);
+
+        m_tree->Branch("Digits_MM_stripResponse_time",          &m_NSWMM_dig_sr_time);
+        m_tree->Branch("Digits_MM_stripResponse_charge",        &m_NSWMM_dig_sr_charge);
+        m_tree->Branch("Digits_MM_stripResponse_stripPosition", &m_NSWMM_dig_sr_stripPosition);
+        m_tree->Branch("Digits_MM_stripResponse_stripLposX",    &m_NSWMM_dig_sr_stripLposX);
+        m_tree->Branch("Digits_MM_stripResponse_stripLposY",    &m_NSWMM_dig_sr_stripLposY);
+        m_tree->Branch("Digits_MM_stripresponse_stripGposX",    &m_NSWMM_dig_sr_stripGposX);
+        m_tree->Branch("Digits_MM_stripResponse_stripGposY",    &m_NSWMM_dig_sr_stripGposY);
+        m_tree->Branch("Digits_MM_stripResponse_stripGposZ",    &m_NSWMM_dig_sr_stripGposZ);
+
+        m_tree->Branch("Digits_MM_truth_barcode",    &m_NSWMM_dig_truth_barcode);
+        m_tree->Branch("Digits_MM_truth_localPosX",  &m_NSWMM_dig_truth_localPosX);
+        m_tree->Branch("Digits_MM_truth_localPosY",  &m_NSWMM_dig_truth_localPosY);
+        m_tree->Branch("Digits_MM_truth_XZ_angle",   &m_NSWMM_dig_truth_XZ_angle);
+        m_tree->Branch("Digits_MM_truth_globalPosX", &m_NSWMM_dig_truth_globalPosX);
+        m_tree->Branch("Digits_MM_truth_globalPosY", &m_NSWMM_dig_truth_globalPosY);
+        m_tree->Branch("Digits_MM_truth_globalPosZ", &m_NSWMM_dig_truth_globalPosZ);
+
+        m_tree->Branch("Hits_MM_trackId", &m_NSWMM_trackId);
+        m_tree->Branch("Hits_MM_truthEl", &m_NSWMM_truthEl);
+        m_tree->Branch("Hits_MM_globalTime", &m_NSWMM_globalTime);
+        m_tree->Branch("Hits_MM_hitGlobalPositionX", &m_NSWMM_hitGlobalPositionX);
+        m_tree->Branch("Hits_MM_hitGlobalPositionY", &m_NSWMM_hitGlobalPositionY);
+        m_tree->Branch("Hits_MM_hitGlobalPositionZ", &m_NSWMM_hitGlobalPositionZ);
+        m_tree->Branch("Hits_MM_hitGlobalPositionR", &m_NSWMM_hitGlobalPositionR);
+        m_tree->Branch("Hits_MM_hitGlobalPositionP", &m_NSWMM_hitGlobalPositionP);
+        m_tree->Branch("Hits_MM_hitGlobalDirectionX", &m_NSWMM_hitGlobalDirectionX);
+        m_tree->Branch("Hits_MM_hitGlobalDirectionY", &m_NSWMM_hitGlobalDirectionY);
+        m_tree->Branch("Hits_MM_hitGlobalDirectionZ", &m_NSWMM_hitGlobalDirectionZ);
+
+        m_tree->Branch("Hits_MM_hitLocalPositionX", &m_NSWMM_hitLocalPositionX);
+        m_tree->Branch("Hits_MM_hitLocalPositionY", &m_NSWMM_hitLocalPositionY);
+        m_tree->Branch("Hits_MM_hitLocalPositionZ", &m_NSWMM_hitLocalPositionZ);
+
+        m_tree->Branch("Hits_MM_detector_globalPositionX", &m_NSWMM_detector_globalPositionX);
+        m_tree->Branch("Hits_MM_detector_globalPositionY", &m_NSWMM_detector_globalPositionY);
+        m_tree->Branch("Hits_MM_detector_globalPositionZ", &m_NSWMM_detector_globalPositionZ);
+        m_tree->Branch("Hits_MM_detector_globalPositionR", &m_NSWMM_detector_globalPositionR);
+        m_tree->Branch("Hits_MM_detector_globalPositionP", &m_NSWMM_detector_globalPositionP);
+
+        m_tree->Branch("Hits_MM_hitToDsurfacePositionX", &m_NSWMM_hitToDsurfacePositionX);
+        m_tree->Branch("Hits_MM_hitToDsurfacePositionY", &m_NSWMM_hitToDsurfacePositionY);
+        m_tree->Branch("Hits_MM_hitToDsurfacePositionZ", &m_NSWMM_hitToDsurfacePositionZ);
+
+        m_tree->Branch("Hits_MM_hitToRsurfacePositionX", &m_NSWMM_hitToRsurfacePositionX);
+        m_tree->Branch("Hits_MM_hitToRsurfacePositionY", &m_NSWMM_hitToRsurfacePositionY);
+        m_tree->Branch("Hits_MM_hitToRsurfacePositionZ", &m_NSWMM_hitToRsurfacePositionZ);
+
+
+        m_tree->Branch("Hits_MM_particleEncoding", &m_NSWMM_particleEncoding);
+        m_tree->Branch("Hits_MM_kineticEnergy", &m_NSWMM_kineticEnergy);
+        m_tree->Branch("Hits_MM_depositEnergy", &m_NSWMM_depositEnergy);
+        m_tree->Branch("Hits_MM_StepLength", &m_NSWMM_StepLength);
+
+
+        m_tree->Branch("Hits_MM_sim_stationName", &m_NSWMM_sim_stationName);
+        m_tree->Branch("Hits_MM_sim_stationEta", &m_NSWMM_sim_stationEta);
+        m_tree->Branch("Hits_MM_sim_stationPhi", &m_NSWMM_sim_stationPhi);
+        m_tree->Branch("Hits_MM_sim_multilayer", &m_NSWMM_sim_multilayer);
+        m_tree->Branch("Hits_MM_sim_layer", &m_NSWMM_sim_layer);
+        m_tree->Branch("Hits_MM_sim_side", &m_NSWMM_sim_side);
+
+        m_tree->Branch("Hits_MM_off_stationName", &m_NSWMM_off_stationName);
+        m_tree->Branch("Hits_MM_off_stationEta", &m_NSWMM_off_stationEta);
+        m_tree->Branch("Hits_MM_off_stationPhi", &m_NSWMM_off_stationPhi);
+        m_tree->Branch("Hits_MM_off_multiplet", &m_NSWMM_off_multiplet);
+        m_tree->Branch("Hits_MM_off_gas_gap", &m_NSWMM_off_gas_gap);
+        m_tree->Branch("Hits_MM_off_channel", &m_NSWMM_off_channel);
+
+
+        //m_tree->Branch("Digits_MM_stripForTrigger",     &m_NSWMM_dig_stripForTrigger);
+       // m_tree->Branch("Digits_MM_stripTimeForTrigger", &m_NSWMM_dig_stripTimeForTrigger);
+
+
+
+      } else {
+        return StatusCode::FAILURE;
+      }
+
+      return StatusCode::SUCCESS;
+    }
+
+
+    void MMStripTdsOfflineTool::reset_ntuple_variables() {
+      // if ntuple is not booked nothing to do
+      if ( m_tree==0 ) return;
+
+      //reset the ntuple variables
+
+      clear_ntuple_variables();
+      /*
+      m_nMMStripHits = 0;
+      m_MMhitPDGId->clear();
+      m_MMhitDepositEnergy->clear();
+      m_MMhitKineticEnergy->clear();
+      m_mmstripGlobalX->clear();
+      m_mmstripGlobalY->clear();
+      m_mmstripGlobalZ->clear();
+      m_mmstripTruthHitGlobalX->clear();
+      m_mmstripTruthHitGlobalY->clear();
+      m_mmstripTruthHitGlobalZ->clear();*/
+    }
+
+    void MMStripTdsOfflineTool::clear_ntuple_variables() {
+      //clear the ntuple variables
+
+
+      m_fitThe->clear();
+      m_fitPhi->clear();
+      m_fitDth->clear();
+      tru_etarange->clear();
+      tru_ptrange->clear();
+      fit_etarange->clear();
+      fit_ptrange->clear();
+      res_the->clear();
+      res_phi->clear();
+      res_dth->clear();
+      /*
+      m_MMhitPDGId->clear();
+      m_MMhitDepositEnergy->clear();
+      m_MMhitKineticEnergy->clear();
+      m_mmstripGlobalX->clear();
+      m_mmstripGlobalY->clear();
+      m_mmstripGlobalZ->clear();
+      m_mmstripTruthHitGlobalX->clear();
+      m_mmstripTruthHitGlobalY->clear();
+      m_mmstripTruthHitGlobalZ->clear();
+      */
+
+
+    //  m_mmstripGlobalX->clear();
+    //  m_mmstripGlobalY->clear();
+    //  m_mmstripGlobalZ->clear();
+
+    //  m_NSWMM_nDigits = 0;
+
+      // information of the module down to the channel closest to the initial G4 hit
+      // size of vector is m_NSWMM_nDigits
+      m_NSWMM_dig_stationName->clear();
+      m_NSWMM_dig_stationEta->clear();
+      m_NSWMM_dig_stationPhi->clear();
+      m_NSWMM_dig_multiplet->clear();
+      m_NSWMM_dig_gas_gap->clear();
+      m_NSWMM_dig_channel->clear();
+
+      // vectors of size m_NSWMM_nDigits that hold vectors in which an entry
+      // corresponds to a strip that was decided to be fired by the digit
+      // (information from VMM chip response emulation)
+      m_NSWMM_dig_time->clear();
+      m_NSWMM_dig_charge->clear();
+      m_NSWMM_dig_stripPosition->clear();
+      m_NSWMM_dig_stripLposX->clear();
+      m_NSWMM_dig_stripLposY->clear();
+      m_NSWMM_dig_stripGposX->clear();
+      m_NSWMM_dig_stripGposY->clear();
+      m_NSWMM_dig_stripGposZ->clear();
+
+      // vectors of size m_NSWMM_nDigits that hold vectors in which an entry
+      // corresponds to a strip that was decided to be fired by the digit
+      // (information from VMM chip strip emulation)
+      m_NSWMM_dig_sr_time->clear();
+      m_NSWMM_dig_sr_charge->clear();
+      m_NSWMM_dig_sr_stripPosition->clear();
+      m_NSWMM_dig_sr_stripLposX->clear();
+      m_NSWMM_dig_sr_stripLposY->clear();
+      m_NSWMM_dig_sr_stripGposX->clear();
+      m_NSWMM_dig_sr_stripGposY->clear();
+      m_NSWMM_dig_sr_stripGposZ->clear();
+
+      // truth information of the (1st) Geant4 hits that caused this
+      // digit to be recorded (size is m_NSWMM_nDigits)
+      m_NSWMM_dig_truth_barcode->clear();
+      m_NSWMM_dig_truth_localPosX->clear();
+      m_NSWMM_dig_truth_localPosY->clear();
+      m_NSWMM_dig_truth_XZ_angle->clear();
+      m_NSWMM_dig_truth_globalPosX->clear();
+      m_NSWMM_dig_truth_globalPosY->clear();
+      m_NSWMM_dig_truth_globalPosZ->clear();
+
+
+      m_NSWMM_trackId->clear();
+      m_NSWMM_truthEl->clear();
+      m_NSWMM_globalTime->clear();
+      m_NSWMM_hitGlobalPositionX->clear();
+      m_NSWMM_hitGlobalPositionY->clear();
+      m_NSWMM_hitGlobalPositionZ->clear();
+      m_NSWMM_hitGlobalPositionR->clear();
+      m_NSWMM_hitGlobalPositionP->clear();
+      m_NSWMM_hitGlobalDirectionX->clear();
+      m_NSWMM_hitGlobalDirectionY->clear();
+      m_NSWMM_hitGlobalDirectionZ->clear();
+
+      m_NSWMM_hitLocalPositionX->clear();
+      m_NSWMM_hitLocalPositionY->clear();
+      m_NSWMM_hitLocalPositionZ->clear();
+
+      m_NSWMM_detector_globalPositionX->clear();
+      m_NSWMM_detector_globalPositionY->clear();
+      m_NSWMM_detector_globalPositionZ->clear();
+      m_NSWMM_detector_globalPositionR->clear();
+      m_NSWMM_detector_globalPositionP->clear();
+
+      m_NSWMM_hitToDsurfacePositionX->clear();
+      m_NSWMM_hitToDsurfacePositionY->clear();
+      m_NSWMM_hitToDsurfacePositionZ->clear();
+
+      m_NSWMM_hitToRsurfacePositionX->clear();
+      m_NSWMM_hitToRsurfacePositionY->clear();
+      m_NSWMM_hitToRsurfacePositionZ->clear();
+
+      //m_NSWMM_FastDigitRsurfacePositionX->clear();
+      //m_NSWMM_FastDigitRsurfacePositionY->clear();
+
+
+      m_NSWMM_particleEncoding->clear();
+      m_NSWMM_kineticEnergy->clear();
+      m_NSWMM_depositEnergy->clear();
+      m_NSWMM_StepLength->clear();
+
+
+      m_NSWMM_sim_stationName->clear();
+      m_NSWMM_sim_stationEta->clear();
+      m_NSWMM_sim_stationPhi->clear();
+      m_NSWMM_sim_multilayer->clear();
+      m_NSWMM_sim_layer->clear();
+      m_NSWMM_sim_side->clear();
+
+      m_NSWMM_off_stationName->clear();
+      m_NSWMM_off_stationEta->clear();
+      m_NSWMM_off_stationPhi->clear();
+      m_NSWMM_off_multiplet->clear();
+      m_NSWMM_off_gas_gap->clear();
+      m_NSWMM_off_channel->clear();
+
+      // more information (size is m_NSWMM_nDigits)
+     // m_NSWMM_dig_stripForTrigger->clear();
+     // m_NSWMM_dig_stripTimeForTrigger->clear();
+
+
+
+      // Caused seg fault when calling push_back on any of these vectors, not sure why?
+
+      //m_fitThe = nullptr;
+      //m_fitPhi = nullptr;
+      //m_fitDth = nullptr;
+
+      /*m_nMMStripHits = 0;
+      m_MMhitPDGId = 0;
+      m_MMhitDepositEnergy = 0;
+      m_MMhitKineticEnergy = 0;
+      m_mmstripGlobalX = 0;
+      m_mmstripGlobalY = 0;
+      m_mmstripGlobalZ = 0;
+      m_mmstripTruthHitGlobalX = 0;
+      m_mmstripTruthHitGlobalX->push_back( 0 );
+        std::cout << "BLAHBLAH3";
+      m_mmstripTruthHitGlobalY = nullptr;
+      m_mmstripTruthHitGlobalZ = nullptr;*/
+    }
+
+
+    void MMStripTdsOfflineTool::fill_mmstrip_validation_id() { }
+
+
+    StatusCode MMStripTdsOfflineTool::gather_mmstrip_data(std::vector<MMStripData*>& mmstrips, int side, int sector) {
+      ATH_MSG_DEBUG( "gather_mmstrip_data: start gathering the String hits for side " << side << ", sector " << sector );
+
+      // check side and sector parameters
+
+      if ( side <-1 || side >1 ) {
+        ATH_MSG_ERROR( "requested side " << side << " is out of range: [-1==All, 0==side C, 1==side A]");
+        return StatusCode::FAILURE;
+      }
+
+      if ( sector <-1 || sector >15 ) {
+        ATH_MSG_ERROR( "requested sector " << sector << " is out of range: [-1==All, 0 - 15]");
+        return StatusCode::FAILURE;
+      }
+
+      // retrieve the current run number and event number
+      const EventInfo* pevt = 0;
+      StatusCode sc = evtStore()->retrieve(pevt);
+      // int event = pevt->event_ID()->event_number();
+
+      if ( !sc.isSuccess() ) {
+        ATH_MSG_WARNING( "Could not retrieve the EventInfo, so cannot associate run and event number to the current Strip cache" );
+        m_mmstrip_cache_runNumber   = -1;
+        m_mmstrip_cache_eventNumber = -1;
+
+      } else {
+        m_mmstrip_cache_runNumber   = pevt->event_ID()->run_number();
+        m_mmstrip_cache_eventNumber = pevt->event_ID()->event_number();
+
+
+      }
+
+      if (m_mmstrip_cache_status==CLEARED) {
+
+
+      } //end if cleared
+
+//**********End of MM Harvard Alg code*******
+
+//*********MMT Loader implementation below **********
+
+
+      // check the Strip cache status
+      if ( m_mmstrip_cache_status!=OK ) {
+        ATH_MSG_ERROR ( "MM Strip cache is in a bad status!" );
+
+        return StatusCode::FAILURE;
+      }
+
+
+      // delivering the required collection
+      if (side==-1 && sector==-1) {
+        //return the full set
+        ATH_MSG_DEBUG( "copying the full MM Strip hit set" );
+        for (unsigned int i=0; i<32; i++) mmstrips.insert( mmstrips.end(), m_mmstrip_cache.at(i).begin(), m_mmstrip_cache.at(i).end() );
+
+      }
+      else if (side!=-1 && sector==-1) {
+        //return all the trigger sectors for the given side
+        ATH_MSG_DEBUG( "copying the MM Strip hit set of all trigger sector in side " << ((side)? "C" : "A") );
+        unsigned int start = (side)? 16 : 0;
+        unsigned int stop  = (side)? 32 :16;
+        for (unsigned int i=start; i<stop; i++) mmstrips.insert( mmstrips.end(), m_mmstrip_cache.at(i).begin(), m_mmstrip_cache.at(i).end() );
+
+      }
+      else if (side==-1 && sector!=-1) {
+        // return the required trigger sectors
+        ATH_MSG_DEBUG( "copying the MM Strip hit set of all trigger sector " << sector << " in both side" );
+        mmstrips.insert( mmstrips.end(), m_mmstrip_cache.at(sector).begin(), m_mmstrip_cache.at(sector).end() );
+        mmstrips.insert( mmstrips.end(), m_mmstrip_cache.at(sector+16).begin(), m_mmstrip_cache.at(sector+16).end() );
+
+      }
+      else {
+        // return the required trigger sector
+        ATH_MSG_DEBUG( "copying the MM Strip hit set of all trigger sector " << sector << " in side " << ((side)? "C" : "A") );
+        int i = side*16+sector;
+        mmstrips.insert( mmstrips.end(), m_mmstrip_cache.at(i).begin(), m_mmstrip_cache.at(i).end() );
+
+      }
+
+      ATH_MSG_DEBUG( "delivered n. " << mmstrips.size() << " MM Strip hits." );
+      // cout << "CHECKCHECK!";
+       //comment out end
+      return StatusCode::SUCCESS;
+    }
+
+
+    MMStripTdsOfflineTool::cStatus MMStripTdsOfflineTool::fill_mmstrip_cache(){
+
+
+      ATH_MSG_DEBUG( "fill_mmstrip_cache: end of processing" );
+
+      return OK;
+      }
+
+  double MMStripTdsOfflineTool::phi_shift(double athena_phi) const{
+    return athena_phi+(athena_phi>=0?-1:1)*TMath::Pi();
+    return (-1.*athena_phi+(athena_phi>=0?1.5*TMath::Pi():-0.5*TMath::Pi()));
+  }
+  void MMStripTdsOfflineTool::xxuv_to_uvxx(TVector3& hit,int plane)const{
+    if(plane<4)return;
+    else if(plane==4)hit_rot_stereo_bck(hit);//x to u
+    else if(plane==5)hit_rot_stereo_fwd(hit);//x to v
+    else if(plane==6)hit_rot_stereo_fwd(hit);//u to x
+    else if(plane==7)hit_rot_stereo_bck(hit);//v to x
+  }
+
+  void MMStripTdsOfflineTool::hit_rot_stereo_fwd(TVector3& hit)const{
+    double degree=TMath::DegToRad()*(m_par->stereo_degree.getFixed());
+    if(striphack) hit.SetY(hit.Y()*cos(degree));
+    else{
+      double xnew=hit.X()*cos(degree)+hit.Y()*sin(degree),ynew=-hit.X()*sin(degree)+hit.Y()*cos(degree);
+      hit.SetX(xnew);hit.SetY(ynew);
+    }
+  }
+
+  void MMStripTdsOfflineTool::hit_rot_stereo_bck(TVector3& hit)const{
+    double degree=-TMath::DegToRad()*(m_par->stereo_degree.getFixed());
+    if(striphack) hit.SetY(hit.Y()*cos(degree));
+    else{
+      double xnew=hit.X()*cos(degree)+hit.Y()*sin(degree),ynew=-hit.X()*sin(degree)+hit.Y()*cos(degree);
+      hit.SetX(xnew);hit.SetY(ynew);
+    }
+  }
+
+  vector<hitData_key> MMStripTdsOfflineTool::event_hitData_keys(int find_event) const{
+    vector<hitData_key> ravel;
+    int fnd_entries=0;
+    for(map<hitData_key,hitData_entry>::const_iterator entry=Hits_Data_Set_Time.begin(); entry!=Hits_Data_Set_Time.end(); ++entry){
+      if(entry->second.event==find_event){
+        ravel.push_back(entry->first);
+        fnd_entries++;
+      }
+      else if(fnd_entries>0) break;//we use the fact that maps store things according to the strict weak ordering of the key's comparison operator
+    }
+    return ravel;
+  }
+
+
+  int MMStripTdsOfflineTool::Get_Strip_ID(double X,double Y,int plane) const{  //athena_strip_id,module_y_center,plane)
+    if(Y==-9999) return -1;
+    //cout<<"Strip (width="<<m_par->strip_width<<") for (X,Y,pl)=("<<X<<","<<Y<<","<<plane<<") is ";
+    string setup(m_par->setup);
+    double strip_width=m_par->strip_width.getFixed(), degree=TMath::DegToRad()*(m_par->stereo_degree.getFixed());//,vertical_strip_width_UV = strip_width/cos(degree);
+    double y_hit=Y;
+    int setl=setup.length();
+    if(plane>=setl||plane<0){
+      cerr<<"Pick a plane in [0,"<<setup.length()<<"] not "<<plane<<endl; exit(1);
+    }
+  //   if(debug) cout<<"SUBSTR CALL MMT_L--2\n";
+    string xuv=setup.substr(plane,1);
+    if(xuv=="u"){//||xuv=="v"){
+      if(striphack)return ceil(Y*cos(degree)/strip_width);
+      y_hit = X*sin(degree)+Y*cos(degree);
+    }
+    else if(xuv=="v"){
+      if(striphack)return ceil(Y*cos(degree)/strip_width);
+      y_hit = -X*sin(degree)+Y*cos(degree);
+      // cout<<"-X*sin("<<degree<<")+Y*cos(degree) is"<<-X*sin(degree)+Y*cos(degree)<<endl;
+    }
+    else if(xuv!="x"){
+      cerr<<"Invalid plane option " << xuv << endl; exit(2);
+    }
+    double strip_hit = ceil(y_hit*1./strip_width);
+    // cout <<"(y_hit="<<y_hit<<"), "<< strip_hit<<endl;
+    return strip_hit;
+  }
+
+  int MMStripTdsOfflineTool::Get_VMM_chip(int strip) const{  //Not Finished... Rough
+    int strips_per_VMM = 64;
+    return ceil(1.*strip/strips_per_VMM);
+  }
+
+  int MMStripTdsOfflineTool::strip_number(int station,int plane,int spos)const{
+    //assert(station>0&&station<=m_par->n_stations_eta);
+    //assert(plane>=0&&plane<(int)m_par->setup.size());
+    if (station<=0||station>m_par->n_stations_eta) {
+      int base_strip = 0;
+
+      return base_strip;
+    }
+    if (plane<0||plane>(int)m_par->setup.size()) {
+      int base_strip = 0;
+
+      return base_strip;
+    }
+    bool do_auto=false;
+    //if true do strip # (ceil(Y/strip_width); what's currently fed into the algorithm)  calculation based on evenly spaced eta assumption of stations
+    double H=m_par->H.getFixed()/*,h=m_par->h1,z=m_par->z_nominal[plane],z0=m_par->z_nominal.front()*/,ybase=m_par->ybases[plane][station-1].getFixed();
+    if(do_auto){
+      //-log(tan(0.5(atan(y/z))))=eta
+      //this is the even y spacing
+      if(m_par->dlm_new) ybase=H+1100.*(station-1);
+      else ybase=H+950.*(station-1);
+      /*//this is the even eta spacing version
+      double etalo=-log(tan(0.5*atan((h+H)/z))),etahi=-log(tan(0.5*atan(H/z))),inc=(etahi-etalo)/m_par->n_stations_eta;
+      double this_eta=etalo+inc*(station-1);
+      ybase=z*tan(2*atan(exp(-1.*this_eta)));
+      */
+    }
+    double width=m_par->strip_width.getFixed(); string plane_char=m_par->setup.substr(plane,1);
+  //   if(plane_char.compare("u")==0||plane_char.compare("v")==0) width/=cos(TMath::DegToRad()*(m_par->stereo_degree));
+    int base_strip=ceil(ybase/width)+spos;
+    return base_strip;
+  }
+  bool MMStripTdsOfflineTool::Mimic_VMM_Chip_Deadtime(hitData_entry& candy){//** ASK BLC IF THERE'S A WAY TO DO THIS SINGLE ENTRY
+
+    if(candy.strip<=0){
+
+      candy.VMM_chip=0;//clear out non-hits  (i.e. empty events -- probably from cuts in generation)
+
+      return false;
+    }
+    else{
+      int VMM_chip=candy.VMM_chip-1,plane=candy.plane,time=candy.time;  //true time in sub ns from simulation
+      if(!VMM_chip_status[VMM_chip][plane]){ //is the chip active?
+        if(VMM__chip_last_hit_time[VMM_chip][plane] + VMM_deadtime <= time){  //if not, should the chip be active?
+    VMM__chip_last_hit_time[VMM_chip][plane]=0;
+    VMM_chip_status[VMM_chip][plane]=true;
+        }
+        else{
+    candy.VMM_chip=0;
+    return false;
+        }
+      }
+      if(VMM_chip_status[VMM_chip][plane]){ //is the chip active?
+
+        VMM_chip_status[VMM_chip][plane]=false;
+        VMM__chip_last_hit_time[VMM_chip][plane]=time;
+      }
+    }
+    return true;
+  }
+
+  vector<hitData_entry> MMStripTdsOfflineTool::event_hitDatas(int find_event) const{
+    vector<hitData_entry> bolero;
+    int fnd_entries=0;
+    for(map<hitData_key,hitData_entry>::const_iterator entry=Hits_Data_Set_Time.begin(); entry!=Hits_Data_Set_Time.end(); ++entry){
+      if(entry->second.event==find_event){
+        bolero.push_back(entry->second);
+        fnd_entries++;
+      }
+      else if(fnd_entries>0) break;//we use the fact that maps store things according to the strict weak ordering of the key's comparison operator
+    }
+    return bolero;
+  }
+
+  int MMStripTdsOfflineTool::eta_bin(double theta) const{
+    int ebin=-999; double eta=-log(tan(0.5*theta));
+    //cout << "WOAH";
+    //cout << n_etabins;
+    //cout << "WOAH1";
+    for(int i=0;i<=n_etabins;i++){
+      if(eta<m_etabins[i]){
+        //cout << "WOAH2";
+        ebin=i-1;
+        break;
+      }
+    }
+      //we want the histograms binned on truth eta
+    //event selection eta cuts are done on theta_ip, not theta_pos
+    if(ebin==-1) return 0;
+    else if(ebin==-999) return n_etabins-1;
+    /*
+    if(ebin==-1){
+      cerr<<"Theta of "<<theta<<" yields eta of "<<eta<<" not in ["<<etalo<<","<<etahi<<"]...exiting"<<endl;
+      exit(6);
+      }*/
+    return ebin;
+  }
+
+}//end namespace
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.h
new file mode 100644
index 00000000000..e1ce1230063
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMStripTdsOfflineTool.h
@@ -0,0 +1,347 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMSTRIPTDSOFFLINETOOL_H
+#define MMSTRIPTDSOFFLINETOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "GaudiKernel/Property.h"
+
+//local includes
+#include "TrigT1NSWSimTools/IMMStripTdsTool.h"
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class MmIdHelper;
+class MmDigit;
+class TTree;
+
+//MMT_Loader includes
+
+//C++ language libararies
+#include <dirent.h>
+#include <map>
+#include <vector>
+#include <string>
+#include <fstream>
+#include <cmath>
+#include <cstdlib>
+#include <cstdio>
+#include <iostream>
+
+//ROOT libraries
+#include "TMultiGraph.h"
+#include "TCanvas.h"
+#include "TColor.h"
+#include "TGraphErrors.h"
+#include "TLatex.h"
+#include "TStyle.h"
+#include "TH2D.h"
+#include "Rtypes.h"
+#include "TTree.h"
+#include "TFile.h"
+#include "TObject.h"
+#include "TROOT.h"
+#include "TH1F.h"
+#include "TRandom3.h"
+#include "TF1.h"
+#include "TLorentzVector.h"
+#include "MMT_struct.h" 
+#include "MMT_Finder.h" 
+#include "MMT_Fitter.h" 
+//#include "/afs/cern.ch/user/m/mkhader/mm_trig/MM_Trigger/plots/mmt_plot/atlasstyle-00-03-05/AtlasStyle.h"
+
+
+
+
+namespace CLHEP {
+  class HepRandomEngine;
+}
+
+namespace MuonGM {
+  class MuonDetectorManager;
+}
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short interface for the StripTDS tools
+   *
+   * This class implements the Strip TDS offline simulation. It loops over the input digits, 
+   * determines the BC tag and applies the additional processing of the VMM chip which is
+   * not yet implemented in the digitization. The loop is executed over the full digit pool
+   * once upon the first data request for an event and the PAD data are internally cached
+   * and collected per trigger sectors. The run ID and event ID are cached; the processing
+   * status is also cached to be propagated via a StatusCode at each data request. 
+   *
+   * Supported processing:
+   *  Time delay simulation by subtracting the time_of_flight and the electronic random jitter;
+   *  VMM Dead Time simulation;
+   *
+   * It returns a vector of MMStripData to input the MMStripTrigger simulation.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>, Geraldine Conti <geraldine.conti@cern.ch>
+   *
+   *
+   */
+
+  class MMStripHits;
+
+  class MMStripTdsOfflineTool: virtual public IMMStripTdsTool, 
+    public AthAlgTool, 
+    public IIncidentListener {
+
+  public:
+
+    //MMTrigger stuff
+    int eta_bin(double theta) const;
+    string eta_str(int eta) const;
+    int n_etabins;
+    int correct_bcid;
+    vector<double> m_etabins;
+    double etalo,etahi;
+    
+    string nom;
+
+    //MMT_Loader stuff
+    //debug stuff
+    vector<vector<vector<double> > >strip_poss,yvals;
+    map<int,double> strip500;
+    map<int,int> zplanes;
+    vector<TH1D*> m_diff_xuv;
+    MMT_Parameters *m_par;
+    //MMT_Finder m_find;
+
+    //load event stuff
+    vector<hitData_entry> event_hitDatas(int find_event) const;
+    vector<hitData_key> event_hitData_keys(int find_event) const;
+
+    map<int,evFit_entry> Event_Fit;//key is event no.
+    map<int,evInf_entry> Event_Info;//key is event no.
+    map<int,evAna_entry> Event_Analysis;//key is event no.
+    map<hitData_key,hitData_entry> Hits_Data_Set_Time;//key is hit_index? <BC_time,time>?
+
+    //VMM info
+    vector<vector<bool> > VMM_chip_status;
+    vector<vector<int> > VMM__chip_last_hit_time;
+    bool Mimic_VMM_Chip_Deadtime(hitData_entry& candy);
+    double VMM_deadtime;
+    int num_VMM_per_plane;
+
+    //Import_Athena..._.m stuff
+    double phi_shift(double athena_phi) const;
+    int Get_VMM_chip(int strip) const;  //*** Not Finished... Rough
+    int strip_number(int station,int plane,int spos)const;
+    int Get_Strip_ID(double X,double Y,int plane) const;
+
+    //x <---> u/v switches
+    bool uvxxmod;
+    void xxuv_to_uvxx(TVector3& hit,int plane)const;
+    void hit_rot_stereo_fwd(TVector3& hit)const;//x to v, u to x
+    void hit_rot_stereo_bck(TVector3& hit)const;//x to u, v to x
+
+    //Hist stuff
+    //TH1::SetDefaultSumw2();
+    //TH1D *m_fit_the;
+    //event counter should be fixed when code is better understood
+    int evtcount = 0;
+
+    
+
+
+    //MMT_Loader stuff end
+
+    enum cStatus {OK, FILL_ERROR, CLEARED};
+
+    MMStripTdsOfflineTool(const std::string& type, 
+			  const std::string& name,
+			  const IInterface* parent);
+
+    virtual ~MMStripTdsOfflineTool();
+
+    virtual StatusCode initialize();
+
+    virtual void handle (const Incident& inc);
+
+    StatusCode gather_mmstrip_data(std::vector<MMStripData*>& mmstrips, int side=-1, int sector=-1);
+
+    
+  private:
+
+    
+    // methods implementing the internal data processing
+    cStatus fill_mmstrip_cache();                           //!< loop over the digit container, apply the additional processing then fill the cache
+    void clear_cache();                                     //!< clear the MM strip hit cache deleting the MMStripData pointers
+
+    StatusCode book_branches();                             //!< book the branches to analyze the MMStripTds behavior
+    void reset_ntuple_variables();                          //!< reset the variables used in the analysis ntuple
+    void clear_ntuple_variables();                          //!< clear the variables used in the analysis ntuple
+    void fill_mmstrip_validation_id();                      //!< fill the ntuple branch for the MMStripTdsOffline
+ 
+
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const MmIdHelper*                  m_MmIdHelper;        //!< MM offline Id helper
+
+    // hidden variables
+    std::vector< std::vector<MMStripData*> > m_mmstrip_cache; //!< cache for the MM Strip hit data in the event
+    int     m_mmstrip_cache_runNumber;                            //!< run number associated to the current MM Strip cache
+    int     m_mmstrip_cache_eventNumber;                          //!< event number associated to the current MM Strip cache
+    cStatus m_mmstrip_cache_status;                               //!< status of the current cache
+    
+
+    // properties: container and service names
+    StringProperty   m_rndmEngineName;                      //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    StringProperty   m_MmDigitContainer;                    //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    StringProperty   m_MmSdoContainer;                      //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    StringProperty   m_MmHitContainer;
+    StringProperty   m_Truth_ContainerName;
+    StringProperty   m_MuEntry_ContainerName;
+
+    BooleanProperty  m_doNtuple;                            //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+
+
+    // analysis ntuple
+    TTree* m_tree;                                          //!< ntuple for analysis
+
+    // analysis variable to be put into the ntuple 
+
+    std::vector<double>* m_fitThe;
+    std::vector<double>* m_fitPhi;
+    std::vector<double>* m_fitDth;
+    std::vector<double>* tru_etarange;
+    std::vector<double>* tru_ptrange;
+    std::vector<double>* fit_etarange;
+    std::vector<double>* fit_ptrange;
+    std::vector<double>* res_the;
+    std::vector<double>* res_phi;
+    std::vector<double>* res_dth;
+
+
+    /*
+    int m_nMMStripHits;                                         //!< number of Strip hit delivered
+    std::vector<int>* m_MMhitPDGId;                             //!< PDG id of particles creating the hits
+    std::vector<float>* m_MMhitDepositEnergy;                   //!< energy deposited by particles
+    std::vector<float>* m_MMhitKineticEnergy;                   //!< kinetic energy of particles
+    std::vector<float>* m_mmstripGlobalX;                       //!< global position X of the Strip hit
+    std::vector<float>* m_mmstripGlobalY;                       //!< global position Y of the Strip hit
+    std::vector<float>* m_mmstripGlobalZ;                       //!< global position Z of the Strip hit
+    std::vector<float>* m_mmstripTruthHitGlobalX;               //!< global position X of the truth hit associated to the Strip hit
+    std::vector<float>* m_mmstripTruthHitGlobalY;               //!< global position Y of the truth hit associated to the Strip hit
+    std::vector<float>* m_mmstripTruthHitGlobalZ;               //!< global position Z of the truth hit associated to the Strip hit
+    */
+
+    //std::vector<float>* m_mmstripGlobalX;                       //!< global position X of the Strip hit
+    //std::vector<float>* m_mmstripGlobalY;                       //!< global position Y of the Strip hit
+    //std::vector<float>* m_mmstripGlobalZ;
+    //These are not in MMDigitvariables, need to find what they correspond to in previous ntuple
+
+    // Variables from MMDigitVariables for ntuple (maybe keep)
+
+
+    //int m_NSWMM_nDigits;
+    std::vector<std::string> *m_NSWMM_dig_stationName;
+    std::vector<int> *m_NSWMM_dig_stationEta;
+    std::vector<int> *m_NSWMM_dig_stationPhi;
+    std::vector<int> *m_NSWMM_dig_multiplet;
+    std::vector<int> *m_NSWMM_dig_gas_gap;
+    std::vector<int> *m_NSWMM_dig_channel;
+
+    std::vector< std::vector<float> >  *m_NSWMM_dig_time;
+    std::vector< std::vector<float> >  *m_NSWMM_dig_charge;
+    std::vector< std::vector<int> >    *m_NSWMM_dig_stripPosition;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripLposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripLposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripGposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripGposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripGposZ;
+    std::vector< std::vector<float> >  *m_NSWMM_dig_sr_time;
+    std::vector< std::vector<float> >  *m_NSWMM_dig_sr_charge;
+    std::vector< std::vector<int> >    *m_NSWMM_dig_sr_stripPosition;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripLposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripLposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposZ;
+
+    std::vector< int    > *m_NSWMM_dig_truth_barcode;
+    std::vector< double > *m_NSWMM_dig_truth_localPosX;
+    std::vector< double > *m_NSWMM_dig_truth_localPosY;
+    std::vector< double > *m_NSWMM_dig_truth_globalPosX;
+    std::vector< double > *m_NSWMM_dig_truth_globalPosY;
+    std::vector< double > *m_NSWMM_dig_truth_globalPosZ;
+    std::vector< float  > *m_NSWMM_dig_truth_XZ_angle;
+
+    std::vector<int>   *m_NSWMM_dig_stripForTrigger;
+    std::vector<float> *m_NSWMM_dig_stripTimeForTrigger;
+
+
+    std::vector<int>    *m_NSWMM_trackId;
+    std::vector<int>    *m_NSWMM_truthEl;
+    std::vector<double> *m_NSWMM_globalTime;
+    std::vector<double> *m_NSWMM_hitGlobalPositionX;
+    std::vector<double> *m_NSWMM_hitGlobalPositionY;
+    std::vector<double> *m_NSWMM_hitGlobalPositionZ;
+    std::vector<double> *m_NSWMM_hitGlobalPositionR;
+    std::vector<double> *m_NSWMM_hitGlobalPositionP;
+    std::vector<double> *m_NSWMM_hitGlobalDirectionX;
+    std::vector<double> *m_NSWMM_hitGlobalDirectionY;
+    std::vector<double> *m_NSWMM_hitGlobalDirectionZ;
+  
+    std::vector<double> *m_NSWMM_hitLocalPositionX;
+    std::vector<double> *m_NSWMM_hitLocalPositionY;
+    std::vector<double> *m_NSWMM_hitLocalPositionZ;
+ 
+    std::vector<double> *m_NSWMM_detector_globalPositionX;
+    std::vector<double> *m_NSWMM_detector_globalPositionY;
+    std::vector<double> *m_NSWMM_detector_globalPositionZ;
+    std::vector<double> *m_NSWMM_detector_globalPositionR;
+    std::vector<double> *m_NSWMM_detector_globalPositionP;
+ 
+    std::vector<double> *m_NSWMM_hitToDsurfacePositionX;
+    std::vector<double> *m_NSWMM_hitToDsurfacePositionY;
+    std::vector<double> *m_NSWMM_hitToDsurfacePositionZ;
+  
+    std::vector<double> *m_NSWMM_hitToRsurfacePositionX;
+    std::vector<double> *m_NSWMM_hitToRsurfacePositionY;
+    std::vector<double> *m_NSWMM_hitToRsurfacePositionZ;
+ 
+
+    std::vector<int> *m_NSWMM_particleEncoding;
+    std::vector<double> *m_NSWMM_kineticEnergy;
+    std::vector<double> *m_NSWMM_depositEnergy;
+    std::vector<double> *m_NSWMM_StepLength;
+ 
+    std::vector<std::string> *m_NSWMM_sim_stationName;
+    std::vector<int> *m_NSWMM_sim_stationEta;
+    std::vector<int> *m_NSWMM_sim_stationPhi;
+    std::vector<int> *m_NSWMM_sim_multilayer;
+    std::vector<int> *m_NSWMM_sim_layer; 
+    std::vector<int> *m_NSWMM_sim_side;
+
+    std::vector<std::string> *m_NSWMM_off_stationName;
+    std::vector<int> *m_NSWMM_off_stationEta;
+    std::vector<int> *m_NSWMM_off_stationPhi;
+    std::vector<int> *m_NSWMM_off_multiplet;
+    std::vector<int> *m_NSWMM_off_gas_gap;
+    std::vector<int> *m_NSWMM_off_channel;
+
+
+  };  // end of MMStripTdsOfflineTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.cxx
new file mode 100644
index 00000000000..34380600bda
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.cxx
@@ -0,0 +1,195 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "MMT_Finder.h"
+
+MMT_Finder::MMT_Finder(MMT_Parameters *par, int nUVRoads, int outputLevel){
+
+  m_msg.get().setLevel(outputLevel);
+
+  msg(MSG::DEBUG) << "MMT_Finder::building finder" << endmsg;
+
+  m_par = par;
+  m_nUVRoads = nUVRoads;
+
+  m_nRoads = ceil(  ( ( m_par->slope_max - m_par->slope_min ) / m_par->h.getFixed()  ).getFixed()  ); //initialization, can use floats
+
+  if(m_nUVRoads>1){
+    m_nRoads *= m_nUVRoads; // This should probably be configurable and dynamic based on the geometry of the chamber
+  }
+
+  int nplanes=m_par->setup.size();
+
+  msg(MSG::DEBUG) << "MMT_Find::finder entries " << m_nRoads << " " << m_par->slope_max.getFixed() << " " << m_par->slope_min.getFixed() << " " << m_par->h.getFixed() << endmsg;
+
+  m_gateFlags = vector<vector<double> >(m_nRoads,(vector<double>(2,0)));// sloperoad,
+  m_finder    = vector<vector<finder_entry> >(m_nRoads,(vector<finder_entry>(nplanes,finder_entry())));  //[strip,slope,hit_index];
+
+  msg(MSG::DEBUG) << "MMT_Find::built finder" << endmsg;
+
+  return;
+
+}
+
+void MMT_Finder::fillHitBuffer( map< pair<int,int> , finder_entry > & hitBuffer, // Map (road,plane) -> Finder entry
+                                const Hit& hit) const {
+  // This function takes in the Hit object and places it into the hit buffer hitBuffer, putting it in any relevant (road,plane)
+
+  //Get initial parameters: tolerance, step size (h), slope of hit
+  float32fixed<3> tol;
+  float32fixed<3> h=m_par->h.getFixed();
+
+  //Conver hit to slope here
+  float32fixed<3> slope=hit.info.slope.getFixed();
+  msg(MSG::DEBUG) << "SLOPE " << hit.info.slope.getFixed() << endmsg;
+
+  //Plane and key info of the hit
+  int plane=hit.info.plane;
+
+  string plane_type=m_par->setup.substr(plane,1);
+
+  if(plane_type=="x") tol=m_par->x_error.getFixed();
+  else if(plane_type=="u"||plane_type=="v") tol=m_par->uv_error.getFixed();
+  else return;  //if it's an unsupported plane option, don't fill
+
+
+  //---slope road boundaries based on hit_slope +/- tolerance---; if min or max is out of bounds, put it at the limit
+  float32fixed<3> s_min = slope - tol, s_max = slope + tol;
+
+  int road_min = round( (  (s_min - m_par->slope_min)/h  ).getFixed() );
+  int road_max = round( (  (s_max - m_par->slope_min)/h  ).getFixed() );
+
+  if( road_min < 0 ) road_min = 0 ;
+  if( road_max >= (m_nRoads/m_nUVRoads) ){ road_max = (m_nRoads/m_nUVRoads) - 1 ; }
+
+  if(m_nUVRoads > 1){ // Implementation of UV road setup.
+
+    // For each road in x (which is what happens by default)
+    // define a bunch of extra roads, for each UV setup.
+
+    // I have a hit's slope from above and the kind of plane this is
+    // So let's loop over the roads...
+
+
+    //----fill buffer----
+    pair<int,int> key(0,plane);
+
+    if (plane_type=="x"){
+      for(int iRoadGroup = road_min; iRoadGroup<=road_max; iRoadGroup++){ // road loop
+
+        for(int iRoadOffset = 0; iRoadOffset < m_nUVRoads; iRoadOffset++){
+          int iRoad = iRoadGroup*m_nUVRoads + iRoadOffset;
+          key.first = iRoad;
+
+          // If this road+plane combination is not already in the buffer
+          // Or if this hit's key is smaller than the key that's in there...
+          if( hitBuffer.find(key) == hitBuffer.end() || hit.key < hitBuffer.find(key)->second.hit.key ){
+            hitBuffer[key]=finder_entry(true,m_clock,hit); // Put it in there!
+          }
+
+        } // road offset
+      } // road group
+    } // x planes
+    else { // uv planes
+
+      // int planeDirection = 0;
+      // if (plane_type=="u") planeDirection = 1;
+      // else if (plane_type=="v") planeDirection = -1;
+
+      for(int iRoadGroup = road_min; iRoadGroup<=road_max; iRoadGroup++){ // road loop
+
+        // for(int iRoadOffset = 0; iRoadOffset < m_nUVRoads; iRoadOffset++){
+        //   int iRoad = iRoadGroup*m_nUVRoads + iRoadOffset;
+        //   key.first = iRoad;
+
+        //   // If this road+plane combination is not already in the buffer
+        //   // Or if this hit's key is smaller than the key that's in there...
+        //   if( hitBuffer.find(key) == hitBuffer.end() || hit.key < hitBuffer.find(key)->second.hit.key ){
+        //     hitBuffer[key]=finder_entry(true,m_clock,hit); // Put it in there!
+        //   }
+
+      } // road offset
+    } // road group
+  } else {
+
+    // Now I have a slope range representing the hit.
+
+    // road_min / max represent a range of roads that I will consider hit
+
+    //----fill buffer----
+    pair<int,int> key(0,plane);
+    for(int road = road_min; road<=road_max; road++){ // road loop
+
+      key.first = road;
+
+      if( hitBuffer.find(key) == hitBuffer.end() ){ // If this road+plane combination is not already in the buffer
+        hitBuffer[key]=finder_entry(true,m_clock,hit); // Put it in there!
+      }
+      else if( hit.key < hitBuffer.find(key)->second.hit.key ){ // Or if this hit's key is smaller than the key that's in there...
+        hitBuffer[key]=finder_entry(true,m_clock,hit);
+      }
+    } // road loop
+  } // UV roads vs standard
+
+}
+
+void MMT_Finder::checkBufferForHits(vector<bool>& plane_is_hit,
+                                    vector<Hit>& track,
+                                    int road,
+                                    map<pair<int,int>,finder_entry> hitBuffer
+                                    ) const{
+  //Loops through the buffer which should have entries = nplanes
+  //Takes the hit and bool for each plane (if it exists)
+  int nplanes=m_par->setup.size();
+
+  pair<int,int> key (road,0);
+
+  for(int plane=0; plane<nplanes; plane++){
+    key.second=plane;
+    Hit hit;
+    if(hitBuffer.count(key)){
+     plane_is_hit.push_back(true);
+     hit=hitBuffer.at(key).hit;
+    }
+    else plane_is_hit.push_back(false);
+    track.push_back(hit);
+  }
+}
+
+int MMT_Finder::Coincidence_Gate(const vector<bool>& plane_hits) const{
+
+  // This function should be updated to include the clock and age of the hits...
+
+  //8 for eight detector planes
+  if(plane_hits.size()!=8){
+    msg(MSG::DEBUG) << "Coincidence_Gate: Don't have 8 plane hit!" << endmsg;
+  }
+  //Might want to establish a heirarchy of gates
+  //Eg, 4X+4UV > 3+3.   Also,
+  int X_count=0,U_count=0,V_count=0,value=0;bool front=false,back=false;
+  //search the string
+  vector<int> u_planes=m_par->q_planes("u"), x_planes=m_par->q_planes("x"), v_planes=m_par->q_planes("v");
+  for(unsigned int ip=0;ip<x_planes.size();ip++){
+    if(plane_hits[x_planes[ip]]){
+      X_count++;
+      if(x_planes[ip]<4)front=true;
+      else back=true;
+    }
+  }
+  for(unsigned int ip=0;ip<u_planes.size();ip++) U_count+=plane_hits[u_planes[ip]];
+  for(unsigned int ip=0;ip<v_planes.size();ip++) V_count+=plane_hits[v_planes[ip]];
+  int UV_count = U_count + V_count;
+  bool xpass=X_count>=m_par->CT_x,uvpass=UV_count>=m_par->CT_uv,fbpass=front&&back;
+  value = 10*X_count+UV_count;
+  if(!xpass||!uvpass){
+    value*=-1;
+    if(value<-10) msg(MSG::DEBUG) << "Coincidence_Gate: hit count fail with value: "<<value<< endmsg;
+  }
+  else if(!fbpass&&X_count+UV_count>0){
+    if(value>0)value*=-1;
+    value-=5;
+    msg(MSG::DEBUG) << "Coincidence_Gate: quadruplet fail with value: "<<value<< endmsg;
+  }
+  return value;
+}
\ No newline at end of file
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.h
new file mode 100644
index 00000000000..cbb1095430d
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Finder.h
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMT_FINDER_H
+#define MMT_FINDER_H
+
+
+#include "AthenaKernel/MsgStreamMember.h"
+
+#include "MMT_struct.h"
+
+
+class MMT_Finder{
+ public:
+  MMT_Finder(MMT_Parameters *par, int nUVRoads = 1, int outputLevel = MSG::WARNING);
+  ~MMT_Finder(){}
+  int Coincidence_Gate(const vector<bool>& plane_hits) const;
+  void set_roads(int _roads) { m_nRoads=_roads; }
+  int get_roads() const {return m_nRoads;}
+  void fillHitBuffer(map<pair<int,int>,finder_entry>& hitBuffer, const Hit& hit) const;
+  void checkBufferForHits(vector<bool>& plane_is_hit, vector<Hit>& track, int road, map<pair<int,int>,finder_entry> hitBuffer) const;
+
+
+  // / Log a message using the Athena controlled logging system
+  MsgStream& msg( MSG::Level lvl ) const { return m_msg << lvl; }
+  // / Check whether the logging system is active at the provided verbosity level
+  bool msgLvl( MSG::Level lvl ) const { return m_msg.get().level() <= lvl; }
+
+ private:
+  vector<int> q_planes(const string& type) const;
+  //Finder components
+  double m_clock,m_max_age;
+  int m_nRoads;
+  double m_slope_min;
+  double m_slope_max;
+  vector<vector<double> > m_gateFlags;
+  vector<vector<finder_entry> > m_finder;
+  MMT_Parameters* m_par;
+
+  int m_nUVRoads;
+
+  /// Private message stream member
+  mutable Athena::MsgStreamMember m_msg;
+};
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx
new file mode 100644
index 00000000000..c2e1c235c5e
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.cxx
@@ -0,0 +1,506 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+
+#include "MMT_Fitter.h"
+
+
+
+MMT_Fitter::MMT_Fitter(MMT_Parameters *par, int nlg, double lgmin, double lgmax): /*m_par(par),*/ number_LG_regions(nlg), LG_min(lgmin), LG_max(lgmax), m_msg("MMT_Fitter")
+{
+  msg(MSG::DEBUG) << "MMT_F::building fitter"<< endmsg;
+  m_par=par;
+  last=0;
+  n_fit=0;
+  msg(MSG::DEBUG) << "MMT_F::built fitter"<< endmsg;
+}
+
+
+evFit_entry MMT_Fitter::fit_event(int event, vector<Hit>& track, vector<hitData_entry>& hitDatas, int& nfit,vector<pair<double,double> >&mxmy, double& mxl, double& mv, double& mu) const{
+  msg(MSG::DEBUG) << "Begin fit event!"<< endmsg;
+  bool did_fit=false;
+  int check=Filter_UV(track);
+  vector<int> xpl=m_par->q_planes("x");
+  vector<int> upl=m_par->q_planes("u");
+  vector<int> vpl=m_par->q_planes("v");
+  //---- Calc global slopes and local X slope -----
+  float32fixed<2> M_x_global = Get_Global_Slope(track,"x");
+  float32fixed<2> M_u_global = (check>=10?float32fixed<2>(-999.):Get_Global_Slope(track,"u"));
+  float32fixed<2> M_v_global = (check%10==1?float32fixed<2>(-999.):Get_Global_Slope(track,"v"));
+  //----  Calc delta theta ----------
+  //----- Calc ROI ----------
+  ROI ROI = Get_ROI(M_x_global,M_u_global,M_v_global,track);
+  mxmy.push_back(pair<double,double>(ROI.m_x.getFixed(),ROI.m_y.getFixed()));
+  mu  = M_u_global.getFixed();
+  mv  = M_v_global.getFixed();
+
+  if(ROI.theta==-999){
+    for(unsigned int i=0;i<track.size();i++)  track[i].print();
+    ATH_MSG_WARNING("SOMETHING IS OFF!  fit_event\n");
+    exit(-999);
+  }
+
+  float32fixed<2> M_x_local = Get_Local_Slope(track,ROI.theta.getFixed(),ROI.phi.getFixed()),Delta_Theta_division = Get_Delta_Theta_division(M_x_local,M_x_global,1.), Delta_Theta = Get_Delta_Theta(M_x_local,M_x_global), dtheta_idl=Get_Delta_Theta_division(ideal_local_slope(track),M_x_global);
+
+  mxl = M_x_local.getFixed();
+
+  if(dtheta_idl-Delta_Theta_division.fabs()>2.e-3)m_par->fill0=true;
+  msg(MSG::DEBUG) << "Mxg="<<M_x_global.getFixed()<<",Mug="<<M_u_global.getFixed()<<",Mvg="<<M_v_global.getFixed()<<",Mxl="<<M_x_local.getFixed()<<",dth="<<Delta_Theta.getFixed()<< endmsg;
+  //@@@@@@@@ Begin Info Storage for Later Analysis @@@@@@@@@@@@@@@@@@@@@@@
+  vector<bool> planes_hit_tr(8,false),planes_hit_bg(8,false);
+  for(unsigned int ihit=0; ihit<track.size(); ihit++){
+    int hitData_pos=find_hitData(hitDatas,track[ihit].key);
+    if(hitData_pos==-1) continue;
+    if(hitDatas[hitData_pos].truth_nbg) planes_hit_tr[track[ihit].info.plane]=true;
+    else planes_hit_bg[track[ihit].info.plane]=true;
+  }
+  int n_xpl_tr=0,n_xpl_bg=0,n_uvpl_tr=0,n_uvpl_bg=0;
+  for(int xp=0; xp<(int)xpl.size(); xp++){
+    int plane=xpl[xp];
+    n_xpl_tr+=planes_hit_tr[plane];n_xpl_bg+=planes_hit_bg[plane];
+  }
+  if(check<10){
+    for(unsigned int up=0; up<upl.size(); up++){
+      int plane=upl[up];
+      n_uvpl_tr+=planes_hit_tr[plane];
+      n_uvpl_bg+=planes_hit_bg[plane];
+    }
+  }
+  if(check%10==0){
+    for(unsigned int vp=0; vp<vpl.size(); vp++){
+      int plane=vpl[vp];
+      n_uvpl_tr+=planes_hit_tr[plane];
+      n_uvpl_bg+=planes_hit_bg[plane];
+    }
+  }
+//   return evFit_entry(event,ROI.theta,ROI.phi,Delta_Theta_division,ROI.roi,n_xpl_tr,n_uvpl_tr,n_xpl_bg,n_uvpl_bg,Delta_Theta);
+
+  //FINISH ME!!!!!!!
+  float32fixed<4> candtheta=ROI.theta,candphi=ROI.phi;
+  /* I think this bit appears redundant but could end up being stupid; the fitter shouldn't care about CT stuff (beyond having min num hits to do fit, which the -999 or w/e is responsible for taking care of)
+  bool xfail=(n_xpl_tr+n_xpl_bg<m_par->CT_x),uvfail= (n_uvpl_tr+n_uvpl_bg<m_par->CT_uv);
+  msg(MSG::DEBUG) << n_xpl_tr+n_xpl_bg<<" x hits");
+  if(xfail)candtheta=-999.;
+  if(uvfail)candphi=-999.;
+  */
+  bool fitkill=(ROI.theta==-999 || Delta_Theta==-999||Delta_Theta==-4);// ||xfail||uvfail);
+  msg(MSG::DEBUG) << "HIT CODE: "<<track_to_index(track)<< endmsg;
+  evFit_entry aemon(event,candtheta,candphi,Delta_Theta_division,ROI.roi,n_xpl_tr,n_uvpl_tr,n_xpl_bg,n_uvpl_bg,Delta_Theta,track_to_index(track));
+  if(fitkill) return aemon;
+//   msg(MSG::DEBUG) << " aemon fit_theta="<<aemon.fit_theta.getFixed()<<", fit_phi="<<aemon.fit_phi.getFixed()<<"...";
+  int nplanes=m_par->setup.size();
+  for(int plane=0; plane<nplanes; plane++){
+    if(track[plane].info.slope==-999) continue; //&& Delta_Theta_division~=-999
+    int hitData_pos=find_hitData(hitDatas,track[plane].key);
+    if(hitData_pos==-1) continue;
+    did_fit=true;
+    hitDatas[hitData_pos].fit_fill(ROI.theta,ROI.phi,Delta_Theta,M_x_global,M_u_global,M_v_global,M_x_local,ROI.m_x,ROI.m_y,ROI.roi);
+    aemon.fit_hit_keys.push_back(track[plane].key);
+//     msg(MSG::DEBUG) << "hitData fit_theta="<<hitDatas[hitData_pos].fit_theta<<"...";
+    if(hitDatas[hitData_pos].truth_nbg) aemon.truth_planes_hit+=pow(10,nplanes-plane-1);
+    else aemon.bg_planes_hit+=pow(10,nplanes-plane-1);
+  }
+  if(did_fit) nfit++;
+//   msg(MSG::DEBUG) << "aemon has "<<aemon.fit_hit_keys.size()<<" keys");
+//   if(event==2997||event==2800) aemon.print();
+  return aemon;
+}
+
+int MMT_Fitter::find_hitData(const vector<hitData_entry>& hitDatas, const hitData_key& key) const{
+  for(unsigned int i=0;i<hitDatas.size();i++){
+    if(hitDatas[i].BC_time==key.BC_time&&hitDatas[i].time==key.time&&hitDatas[i].gtime==key.gtime&&hitDatas[i].VMM_chip==key.VMM_chip) return i;
+  }
+  return -1;
+}
+
+
+int MMT_Fitter::Filter_UV(vector<Hit>& track) const{
+  return 0;
+  float32fixed<2> h=m_par->h, tolerance = h;//*2;  //Can be optimized...
+  vector<int> u_planes=m_par->q_planes("u"),v_planes=m_par->q_planes("v");
+  vector<Hit> u_hits=q_hits("u",track),v_hits=q_hits("v",track);
+  bool pass_u=!u_hits.empty(),pass_v=!v_hits.empty();
+  //if the difference in slope between the first and last u/v planes is too great don't pass, set track hits to zero
+  if(pass_u){
+    if((float32fixed<2>(u_hits.front().info.slope-u_hits.back().info.slope)).fabs()>tolerance) pass_u=false;
+  }
+  if(pass_v){
+    if((float32fixed<2>(v_hits.front().info.slope-v_hits.back().info.slope)).fabs()>tolerance) pass_v=false;
+  }
+  int return_val=0;//of form (bool ubad, bool vbad), so 10 would be bad u, good v
+  if(!pass_u){
+    for(unsigned int iup=0;iup<u_planes.size();iup++) track[u_planes[iup]].info.slope=-999;
+    return_val+=10;
+  }
+  if(!pass_v){
+    for(unsigned int ivp=0;ivp<v_planes.size();ivp++) track[v_planes[ivp]].info.slope=-999;
+    return_val+=1;
+  }
+  return return_val;
+}
+
+float32fixed<2> MMT_Fitter::Get_Global_Slope (const vector<Hit>& track, const string& type) const
+{
+  vector<Hit> qhits = q_hits(type,track);
+  float32fixed<2> sum = 0.;
+  if(qhits.size()==0) return -999;
+  float32fixed<2> nhitdiv= 1./qhits.size();
+//   msg(MSG::DEBUG) << "Calculating global slope of type "<<type<<"---adding "<< qhits.size() <<" slopes: ";
+  for(int ihit=0;ihit<(int)qhits.size();ihit++){
+    sum+=(qhits[ihit].info.slope*nhitdiv);
+  }
+  return sum;
+}
+
+//CHANGE!
+float32fixed<2> MMT_Fitter::Get_Local_Slope (const vector<Hit>& Track,double theta,double phi) const
+{
+  vector<int> x_planes=m_par->q_planes("x"),ybin_hits(x_planes.size(),-1);
+  int nxp=x_planes.size();
+  for(int ipl=0; ipl<nxp; ipl++){
+    ybin_hits[ipl]=((Track[x_planes[ipl]].info.slope==-999||Track[x_planes[ipl]].info.slope==-4)?-1:m_par->ybin(Track[x_planes[ipl]].info.y));
+  }
+  bool hit=false;
+  float32fixed<yzdex> yzsum=0;
+  float mxlf=0;
+  int xdex=-1;
+  int ybin=-1;
+  int which=-1;
+  m_par->key_to_indices(ybin_hits,xdex,ybin,which);
+  if(xdex<0||ybin<0||which<0) return -999;
+  float32fixed<zbardex> zbar=m_par->Ak_local_slim[xdex][ybin][which];
+  float32fixed<bkdex>bk=m_par->Bk_local_slim[xdex][ybin][which];
+  msg(MSG::DEBUG) << "zbar is "<<zbar.getFixed()<<", and bk is "<<bk.getFixed()<< endmsg;
+  int ebin=m_par->eta_bin(theta),pbin=m_par->phi_bin(phi);
+  for(int ipl=0; ipl<nxp; ipl++){
+    float32fixed<yzdex> z=Track[x_planes[ipl]].info.z,y=Track[x_planes[ipl]].info.y;
+    if(ebin!=-1){
+      z=z+m_par->zmod[ebin][pbin][ipl];
+      y=y+m_par->ymod[ebin][pbin][ipl];
+    }
+    if(Track[x_planes[ipl]].info.slope==-999||Track[x_planes[ipl]].info.slope==-4) continue;
+    hit=true;
+    yzsum+=y*(z*zbar-1.);
+    mxlf += bk.getFixed()*y.getFixed()*(z.getFixed()*zbar.getFixed()-1.);
+  }
+  float32fixed<2> mxl=float32fixed<2>(bk.getFixed()*yzsum.getFixed());
+  if(!hit) {return float32fixed<2>(999);}
+  // if(log10(abs(mxl.getFixed()-mxlf))>-3.&&xdex!=5&&xdex!=10)cout<<setprecision(20)<<"*****AVENGE ME! *******fixed: "<<mxl.getFixed()<<", float:"<<mxlf<<",    (ERROR: "<<mxlf-mxl.getFixed()<<")");
+  return mxl;
+}
+
+int MMT_Fitter::track_to_index(const vector<Hit>&track)const{
+  vector<bool>hits(m_par->setup.size(),false);
+  for(int ihit=0;ihit<(int)track.size();ihit++)hits[track[ihit].info.plane]=(hits[track[ihit].info.plane]?true:track[ihit].info.slope>-2.);
+  return m_par->bool_to_index(hits);
+}
+
+double MMT_Fitter::ideal_local_slope(const vector<Hit>& Track)const{
+  vector<vector<double> > z_hit;
+  for(unsigned int i = 0; i<m_par->z_large.size(); i++){
+    vector<double> temp;
+    for(unsigned int j = 0; j<m_par->z_large[i].size(); j++)
+      temp.push_back(m_par->z_large[i][j].getFixed());
+    z_hit.push_back(temp);
+  }
+  vector<int> x_planes=m_par->q_planes("x");
+  int nxp=x_planes.size();
+  bool hit=false;
+  double sum_xy=0,sum_y=0;
+  double ak_idl=ideal_ak(Track),bk_idl=ak_idl*ideal_zbar(Track);
+  for(int ipl=0; ipl<nxp; ipl++){
+    double y=Track[x_planes[ipl]].info.y.getFixed(),z=Track[x_planes[ipl]].info.z.getFixed();
+    if(y==-999) continue;
+    hit=true;
+    sum_xy += ak_idl*z*y;
+    sum_y  += bk_idl*y;
+//     msg(MSG::DEBUG) << "...z="<<z<<",y="<<y<<",sum_y="<<sum_y<<",sum_xy="<<sum_xy;
+  }
+  if(!hit) return -10.;
+  double ls_idl=sum_xy-sum_y;
+//   msg(MSG::DEBUG) << endl<<"ak_idl="<<ak_idl<<",bk_idl="<<bk_idl<<",sum_xy"<<sum_xy<<",sum_y="<<sum_y<<",ls_idl="<<ls_idl);
+  return ls_idl;
+}
+
+double MMT_Fitter::ideal_z(const Hit& hit)const{
+  int plane=hit.info.plane;
+  double tilt=(plane<4?m_par->correct.rotate.X():0),dz=(plane<4?m_par->correct.translate.Z():0),
+    nominal=m_par->z_nominal[plane].getFixed(),y=hit.info.y.getFixed()-m_par->ybases[plane].front().getFixed(),z=nominal+dz+y*tan(tilt);
+  return z;
+}
+
+double MMT_Fitter::ideal_ak(const vector<Hit>& Track)const{
+  vector<int> x_planes=m_par->q_planes("x");//this tells us which planes are x planes
+  int n_xplanes=x_planes.size(),hits=0;
+  double sum_x=0,sum_xx=0;
+  for(int ip=0; ip<n_xplanes; ip++){
+    if(Track[x_planes[ip]].info.slope==-999) continue;
+    double addme=ideal_z(Track[x_planes[ip]]);//z_hit[x_planes[plane]];
+    hits++;//there's a hit
+    sum_x  += addme;
+    sum_xx += addme*addme;
+    msg(MSG::DEBUG) << "z["<<ip<<"]="<<addme<<", sum_x="<<sum_x<<", sum_xx="<<sum_xx<<", hits="<<hits<< endmsg;
+  }
+  double diff = hits*sum_xx-sum_x*sum_x;
+  return hits/diff;
+}
+
+double MMT_Fitter::ideal_zbar(const vector<Hit>& Track)const{
+  vector<int> x_planes=m_par->q_planes("x");//this tells us which planes are x planes
+  double ztot=0;int nhit=0;
+  for(unsigned int ip=0;ip<x_planes.size();ip++){
+    if(Track[x_planes[ip]].info.slope==-999)continue;
+    nhit++;ztot+=ideal_z(Track[x_planes[ip]]);
+  }
+  return ztot/nhit;
+}
+
+float32fixed<2> MMT_Fitter::Get_Delta_Theta(float32fixed<2> M_local, float32fixed<2> M_global) const{
+  int region=-1;
+  // if(div_hack)return Get_Delta_Theta_division(M_local,M_global);
+  float32fixed<2> LG = M_local * M_global;
+  for(int j=0;j<number_LG_regions;j++){   //number_LG_regions
+    if(LG <= DT_Factors_val(j,0)){
+      region = j;
+      break;
+    }
+  }
+  if(region==-1) return -999;
+  return DT_Factors_val(region,1)*(M_local - M_global);
+}
+
+float32fixed<2> MMT_Fitter::DT_Factors_val(int i, int j) const{
+  if(m_par->val_tbl){
+    return m_par->DT_Factors[i][j];
+  }
+  if(j<0||j>1){
+    ATH_MSG_WARNING("DT_Factors only has two entries on the second index (for LG and mult_factor); you inputed an index of " << j );
+    exit(1);
+  }
+  if(i<0||i>=number_LG_regions){
+    ATH_MSG_WARNING("There are " << number_LG_regions << " in DT_Factors(_val); you inputed an index of " << i );
+    exit(1);
+  }
+  double a=1.;//not sure what this is for, so hard to choose fixed_point algebra
+  if(j==0) return mult_factor_lgr(i,a,number_LG_regions,LG_min,LG_max);
+  return LG_lgr(i,a,number_LG_regions,LG_min,LG_max);
+}
+
+float32fixed<2> MMT_Fitter::LG_lgr(int ilgr, double a, int number_LG_regions, float32fixed<2> _min, float32fixed<2> _max) const{
+  a+=0;
+  return _min+float32fixed<2>(ilgr/number_LG_regions)*(_max-_min);
+}
+
+float32fixed<2> MMT_Fitter::mult_factor_lgr(int ilgr, double a, int number_LG_regions, float32fixed<2> _min, float32fixed<2> _max) const{
+  return float32fixed<2>(1.) / float32fixed<2>(  (   LG_lgr(ilgr,a,number_LG_regions,_min,_max)  /  a  + a  ) );
+}
+
+float32fixed<2> MMT_Fitter::Get_Delta_Theta_division(float32fixed<2> M_local, float32fixed<2> M_global, float32fixed<4> a) const{
+//delta_theta = theta_local_slope - theta_global_fit
+// a=1;  // Really sin(phi), but I use small angles about phi=pi/2
+
+
+  //we could use 2 bits for the numerator and 3 for the denominator, but then
+  //fixed_point doesn't know how to do the algebra. Assume we know how to do
+  //this division (we don't, efficiently, thus the method Get_Delta_Theta
+  return float32fixed<2>( (M_local - M_global).getFixed() / ( (M_local*M_global).getFixed() / a.getFixed()  +  a.getFixed()  ));
+}
+
+vector<Hit> MMT_Fitter::q_hits(const string& type,const vector<Hit>& track) const{
+  string setup(m_par->setup);
+  if(setup.length()!=track.size()){
+    ATH_MSG_WARNING("Setup has length: "<<setup.length()<<", but there are "<<track.size()<<" hits in the track");
+    exit(2);
+  }
+  vector<int> qpl(m_par->q_planes(type));
+  vector<Hit> q_hits;
+  for(unsigned int ihit=0; ihit<qpl.size(); ihit++){
+    if( !(track[qpl[ihit]].info.slope==-999) )  {q_hits.push_back(track[qpl[ihit]]);
+    }
+  }
+  return q_hits;
+}
+
+//change this to take u and/or v out of the roi calculation
+ROI MMT_Fitter::Get_ROI(float32fixed<2> M_x,float32fixed<2> M_u,float32fixed<2> M_v,const vector<Hit>&track) const{
+  //M_* are all global slopes
+  msg(MSG::DEBUG) << "\nGet_ROI("<<M_x.getFixed()<<","<<M_u.getFixed()<<","<<M_v.getFixed()<<") "<< endmsg;
+
+  //--- calc constants ------
+  float32fixed<2> b=TMath::DegToRad()*(m_par->stereo_degree.getFixed());
+  float32fixed<7> A=1./tan(b.getFixed());
+  float32fixed<7> B=1./tan(b.getFixed());
+
+  //---  slope conversion equations ----
+  float32fixed<2> m_y = M_x;
+  float32fixed<2> m_xu = ( A*M_u.getFixed() - B*m_y.getFixed() ).getFixed();
+  float32fixed<2> m_xv = ( B*m_y.getFixed() - A*M_v.getFixed() ).getFixed();
+  //--- which slopes are truly present ----
+  //Note that bad slopes are not necessarily 0 as I often use -999 to denote something missing
+  //we have -999 for M_u or M_v to denote that it didn't pass filtering
+  int nu=1,nv=1;
+  if(M_u<0||M_u==float32fixed<2>(-999)){
+    m_xu = 0;nu=0;
+  }
+  if(M_v<0||M_v==float32fixed<2>(-999)){
+    m_xv=0;nv=0;
+  }
+  if(nu==0&&nv==0) return ROI(-999,-999,-999,-999,-999);
+
+  //--- average of 2 mx slope values ----if both u and v were bad, give it a -999 value to know not to use m_x
+  //*** check to see if U and V are necessary for fit
+  float32fixed<2> m_x = (nu+nv==0?0:(m_xv+m_xu)/(nu+nv));
+  if(m_par->correct.translate.X()!=0&&m_par->correct.type==2){
+    m_x+=phi_correct_factor(track)*m_par->correct.translate.X()/m_par->z_nominal[3].getFixed();
+  }
+  //if(debug)
+    msg(MSG::DEBUG) << "(b,A,B,my,mxu,mxv,mx)=("<<b.getFixed()<<","<<A.getFixed()<<","<<B.getFixed()<<","<<m_y.getFixed()<<","<<m_xu.getFixed()<<","<<m_xv.getFixed()<<","<<m_x.getFixed()<<")\n"<< endmsg;
+  //mfits.push_back(pair<double,double>(m_x.getFixed(),m_y.getFixed()));
+
+  //Get m_x and m_y in parameterized values
+  int a_x = round((m_x.getFixed()-m_par->m_x_min.getFixed())/m_par->h_mx.getFixed()), a_y = round((m_y.getFixed()-m_par->m_y_min.getFixed())/m_par->h_my.getFixed());
+  // Generally, this offers a reality check or cut.  The only reason a slope
+  // should be "out of bounds" is because it represents a weird UV combination
+  // -- ie. highly background influenced
+  if(a_y>m_par->n_y || a_y<0){
+    msg(MSG::DEBUG) << "y slope (theta) out of bounds in Get_ROI....(a_x,a_y,m_par->n_x,m_par->n_y)=("<<a_x<<","<<a_y<<","<<m_par->n_x<<","<<m_par->n_y<<")"<< endmsg;
+    return ROI(-999,-999,-999,-999,-999);
+  }
+
+  if(a_x>m_par->n_x || a_x<0){
+    msg(MSG::DEBUG) << "x slope (phi) out of bounds in Get_ROI....(a_x,a_y,m_par->n_x,m_par->n_y)=("<<a_x<<","<<a_y<<","<<m_par->n_x<<","<<m_par->n_y<<")"<< endmsg;
+    return ROI(-999,-999,-999,-999,-999);
+  }
+
+//   xent.push_back(a_x);yent.push_back(a_y);
+  msg(MSG::DEBUG) << "fv_angles...(a_x,a_y)=("<<a_x<<","<<a_y<<")"<< endmsg;
+  double phicor=0.;
+  if(m_par->correct.rotate.Z()!=0&&m_par->correct.type==2){
+//     phicor=-1.*phi_correct_factor(track)*m_par->correct.rotate.Z();
+    phicor=-0.2*m_par->correct.rotate.Z();
+  }
+
+  float32fixed<4> fv_theta=Slope_Components_ROI_theta(a_y,a_x), fv_phi=(m_x.getFixed()==0?-999:Slope_Components_ROI_phi(a_y,a_x).getFixed()+phicor);
+  msg(MSG::DEBUG) << "fv_theta="<<fv_theta.getFixed()<<", fv_phi="<<fv_phi.getFixed()<< endmsg;
+
+  //--- More hardware realistic approach but need fine tuning ----
+  int roi = Rough_ROI_temp(fv_theta,fv_phi);
+
+  //--- current "roi" which is not an actual roi but an approx phi and theta
+  return ROI(fv_theta.getFixed(),fv_phi.getFixed(),m_x.getFixed(),m_y.getFixed(),roi);
+}
+
+double MMT_Fitter::phi_correct_factor(const vector<Hit>&track)const{
+  if((m_par->correct.rotate.Z()==0&&m_par->correct.translate.X()==0)||m_par->correct.type!=2)return 0.;
+  int nxmis=0,nx=0,numis=0,nu=0,nvmis=0,nv=0;
+  double xpart=0.5,upart=0.5,vpart=0.5;
+  string set=m_par->setup;
+  for(int ihit=0;ihit<(int)track.size();ihit++){
+    int n_pln=track[ihit].info.plane;
+    bool ismis=n_pln<4;
+    char pln=set[n_pln];
+    if(pln=='x'||pln=='X'){nx++;nxmis+=ismis;}
+    else if(pln=='u'||pln=='U'){nu++;numis+=ismis;}
+    else if(pln=='v'||pln=='V'){nv++;nvmis+=ismis;}
+  }
+  if(nu==0&&nv==0)return 0.;
+  if(nu==0)upart=0.;
+  else if(nv==0)vpart=0.;
+  else xpart=0.;
+  return xpart*1.*nxmis/nx+upart*1.*numis/nu+vpart*1.*nvmis/nv;
+}
+
+float32fixed<4> MMT_Fitter::Slope_Components_ROI_val(int jy, int ix, int thetaphi) const{
+  if(m_par->val_tbl){
+    return m_par->Slope_to_ROI[jy][ix][thetaphi];
+  }
+  if(thetaphi<0||thetaphi>1){
+    ATH_MSG_WARNING("Slope_Components_ROI only has two entries on the third index (for theta and phi); you inputed an index of " << thetaphi);
+    exit(2);
+  }
+  if(thetaphi==0) return Slope_Components_ROI_theta(jy,ix);
+  return Slope_Components_ROI_phi(jy,ix);
+}
+
+float32fixed<4> MMT_Fitter::Slope_Components_ROI_theta(int jy, int ix) const{
+  //get some parameter information
+  if(jy<0||jy>=m_par->n_y){
+    ATH_MSG_WARNING("You picked a y slope road index of " << jy << " in Slope_Components_ROI_theta; there are only " << m_par->n_y << " of these.\n");
+    if(jy>=m_par->n_y)jy=m_par->n_y-1;
+    else jy=0;
+//     exit(2);
+  }
+  if(ix<0||ix>=m_par->n_x){
+    ATH_MSG_WARNING("You picked an x slope road index of " << ix << " in Slope_Components_ROI_theta; there are only " << m_par->n_x << " of these.\n");
+    if(ix>=m_par->n_x)ix=m_par->n_x-1;
+    else ix=0;
+//     exit(2);
+  }
+  int xdex=ix,ydex=jy+1;
+  if(xdex==0)xdex++;
+  float32fixed<2> m_x=m_par->m_x_min+m_par->h_mx*xdex, m_y=m_par->m_y_min+m_par->h_my*ydex;
+  float32fixed<4> theta=atan(sqrt( (m_x*m_x+m_y*m_y).getFixed()  ));
+//   cout<<"in slope componets roi theta, theta must be in ["<<m_par->minimum_large_theta<<","<<m_par->maximum_large_theta<<"]");
+  if(theta<m_par->minimum_large_theta || theta>m_par->maximum_large_theta){
+//     cout << "Our theta of "<<theta<<" is not in ["<<m_par->minimum_large_theta<<","<<m_par->maximum_large_theta<<"]");
+    theta=0;
+  }
+  return theta;
+}
+
+float32fixed<4> MMT_Fitter::Slope_Components_ROI_phi(int jy, int ix) const{
+  if(jy<0||jy>=m_par->n_y){
+    ATH_MSG_WARNING("You picked a y slope road index of " << jy << " in Slope_Components_ROI_phi; there are only " << m_par->n_y << " of these.\n");
+    if(jy>=m_par->n_y)jy=m_par->n_y-1;
+    else jy=0;
+//    exit(2);
+  }
+  if(ix<0||ix>=m_par->n_x){
+    ATH_MSG_WARNING("You picked an x slope road index of " << ix << " in Slope_Components_ROI_phi; there are only " << m_par->n_x << " of these.\n");
+    //right now we're assuming these are cases just on the edges and so put the values to the okay limits
+    if(ix>=m_par->n_x)ix=m_par->n_x-1;
+    else ix=0;
+//     exit(2);
+  }
+  int xdex=ix,ydex=jy+1;
+  float32fixed<2> m_x=m_par->m_x_min+m_par->h_mx*xdex, m_y=m_par->m_y_min+m_par->h_my*ydex;
+  //if(debug)
+    msg(MSG::DEBUG) << "m_par->m_x_min+m_par->h_mx*xdex="<<m_par->m_x_min.getFixed()<<"+"<<m_par->h_mx.getFixed()<<"*"<<xdex<<"="<<m_x.getFixed()<<", "<< endmsg;
+  //if(debug)
+    msg(MSG::DEBUG) << "m_par->m_y_min+m_par->h_my*ydex="<<m_par->m_y_min.getFixed()<<"+"<<m_par->h_my.getFixed()<<"*"<<ydex<<"="<<m_y.getFixed()<<", "<< endmsg;
+  float32fixed<4> phi(atan2(m_x.getFixed(),m_y.getFixed()));//the definition is flipped from what you'd normally think
+  msg(MSG::DEBUG) << "for a phi of "<<phi.getFixed()<< endmsg;
+  if(phi<m_par->minimum_large_phi || phi>m_par->maximum_large_phi){
+    msg(MSG::DEBUG) << "Chucking phi of " << phi.getFixed()<<" which registers as not in ["<<m_par->minimum_large_phi.getFixed()<<","<<m_par->maximum_large_phi.getFixed()<<"]"<< endmsg;
+    phi=999;
+  }
+  return phi;
+}
+
+int MMT_Fitter::Rough_ROI_temp(float32fixed<4> theta, float32fixed<4> phi) const{
+  //temporary function to identify areas of the wedge.
+  float32fixed<4> minimum_large_theta=m_par->minimum_large_theta, maximum_large_theta=m_par->maximum_large_theta,minimum_large_phi=m_par->minimum_large_phi, maximum_large_phi=m_par->maximum_large_phi;
+  int n_theta_rois=32, n_phi_rois=16;//*** ASK BLC WHAT THESE VALUES OUGHT TO BE!
+
+  float32fixed<4> h_theta = (maximum_large_theta - minimum_large_theta)/n_theta_rois;
+  float32fixed<4> h_phi = (maximum_large_phi - minimum_large_phi)/n_phi_rois;
+  //how is this done in the FPGA? No such division, for sure
+  double roi_t = ceil( (  (theta - minimum_large_theta)/h_theta).getFixed());
+  double roi_p = ceil( (  (phi - minimum_large_phi)/h_phi).getFixed());
+
+  if(theta<minimum_large_theta || theta>maximum_large_theta) roi_t = 0;
+  if(phi<minimum_large_phi || phi>maximum_large_phi) roi_p = 0;
+  int ret_val=roi_t * 1000 + roi_p;
+  /*
+  cout<<"ret_val:"<<ret_val);
+  if(ret_val<1){
+    cout << "ROI theta of "<<theta<<" is not in ["<<m_par->minimum_large_theta<<","<<m_par->maximum_large_theta<<"]");
+    cout << "ROI phi of "<<phi<<" is not in ["<<m_par->minimum_large_phi<<","<<m_par->maximum_large_phi<<"]");
+  }
+  */
+  return ret_val;
+}
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.h
new file mode 100644
index 00000000000..6746281dec3
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Fitter.h
@@ -0,0 +1,77 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMT_FITTER_H
+#define MMT_FITTER_H
+
+#include "AthenaKernel/MsgStreamMember.h"
+
+#include "MMT_struct.h"
+
+
+class MMT_Fitter{
+ public:
+  MMT_Fitter(MMT_Parameters *par, int nlg=256, double LG_min=0., double LG_max=0.5);
+  ~MMT_Fitter(){}
+  void Get_Fit(vector<Hit>& track, map<int,evFit_entry>& Event_Fit, map<hitData_key,hitData_entry>& Hits_Data_Set_Time);
+  evFit_entry fit_event(int event, vector<Hit>& track, vector<hitData_entry>& hitDatas, int& nfit, vector<pair<double,double> >&mxmy, double& mxl, double& mv, double& mu) const;
+  int get_last() const {return last;}
+  int SC_ROI_n_x() const {return m_par->n_x;}
+  int SC_ROI_n_y() const {return m_par->n_y;}
+/*   vector<int> xent,yent; */
+  int find_hitData(const vector<hitData_entry>& hitDatas, const hitData_key& key) const;
+
+
+  /// Log a message using the Athena controlled logging system
+  MsgStream& msg( MSG::Level lvl ) const { return m_msg << lvl; }
+  /// Check whether the logging system is active at the provided verbosity level
+  bool msgLvl( MSG::Level lvl ) const { return m_msg.get().level() <= lvl; }
+
+ protected:
+  int last;
+  //some variables
+  MMT_Parameters *m_par;
+
+  //functions translated
+  int Filter_UV(vector<Hit>& track) const;
+  float32fixed<2> Get_Global_Slope(const vector<Hit>& track, const string& type) const;
+  float32fixed<2> Get_Local_Slope(const vector<Hit>& Track,double theta=-999.,double phi=-999.) const;
+  ROI Get_ROI(float32fixed<2> M_x,float32fixed<2> M_u,float32fixed<2> M_v,const vector<Hit>&track) const;
+  double phi_correct_factor(const vector<Hit>&track)const;
+  float32fixed<2> Get_Delta_Theta(float32fixed<2> M_local,float32fixed<2> M_global) const;
+  float32fixed<2> Get_Delta_Theta_division(float32fixed<2> M_local,float32fixed<2> M_global, float32fixed<4> a=1.) const;
+  int Rough_ROI_temp(float32fixed<4> theta, float32fixed<4> phi) const;
+
+  //sim hit code stuff
+  int track_to_index(const vector<Hit>&track)const;
+
+  //ideal local slope for debugging purposes
+  double ideal_local_slope(const vector<Hit>& Track)const;
+  double ideal_z(const Hit& hit)const;
+  double ideal_ak(const vector<Hit>& Track)const;
+  double ideal_zbar(const vector<Hit>& Track)const;
+
+  //translated from Table_Generators.m
+  float32fixed<2> LG_lgr(int ilgr, double a, int number_LG_regions, float32fixed<2> _min, float32fixed<2> _max) const;
+  float32fixed<2> mult_factor_lgr(int ilgr, double a, int number_LG_regions, float32fixed<2> _min, float32fixed<2> _max) const;
+  float32fixed<4> Slope_Components_ROI_val(int jy, int ix, int thetaphi) const;
+  float32fixed<4> Slope_Components_ROI_theta(int jy, int ix) const;
+  float32fixed<4> Slope_Components_ROI_phi(int jy, int ix) const;
+  float32fixed<2> DT_Factors_val(int i, int j) const;
+
+
+ private:
+  //some functions
+  vector<Hit> q_hits(const string& type,const vector<Hit>& hits) const;
+
+  //Fitter components
+  int number_LG_regions,n_fit;
+  float32fixed<2> LG_min,LG_max;
+  vector<int> q_planes(char type) const;//return position of what planes are where
+
+  /// Private message stream member
+  mutable Athena::MsgStreamMember m_msg;
+
+};
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx
new file mode 100644
index 00000000000..4d0154064a5
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx
@@ -0,0 +1,1313 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "MMT_struct.h"
+#include "MuonAGDDDescription/MMDetectorDescription.h"
+#include "MuonAGDDDescription/MMDetectorHelper.h"
+#include "MuonReadoutGeometry/MuonChannelDesign.h"
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/MMReadoutElement.h"
+
+
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+
+
+// double MMTStructConst{return 8192.;}
+
+float MMTStructConst = 8192.;
+
+std_align::std_align(int qcm,const TVector3& trans,const TVector3& ang):type(qcm),translate(trans),rotate(ang){
+  if(type==0){
+    translate=TVector3();rotate=TVector3();
+  }
+}
+
+string std_align::par_title(int par_num,bool small_unit)const{
+  string par_title("invalid");
+  if(par_num==0) par_title="#Deltas [mm]";
+  else if(par_num==1) par_title="#Deltaz [mm]";
+  else if(par_num==2) par_title="#Deltat [mm]";
+  else if(par_num==3) par_title="#gamma_{s}";
+  else if(par_num==4) par_title="#beta_{z}";
+  else if(par_num==5) par_title="#alpha_{t}";
+  else{
+    // ATH_MSG_DEBUG("Parameter number "<<par_num<<" not in [0,"<<parmax()<<"]; returning...");
+    exit(3);
+  }
+  if(par_num>2){
+    if(small_unit)par_title+=" [mrad]";
+    else par_title+=" [rad]";
+  }
+  return par_title;
+}
+
+string std_align::par_name(int par_num)const{
+  string par_name("invalid");
+  if(par_num==0) par_name="dts";
+  else if(par_num==1) par_name="dtz";
+  else if(par_num==2) par_name="dtt";
+  else if(par_num==3) par_name="drs";
+  else if(par_num==4) par_name="drz";
+  else if(par_num==5) par_name="drt";
+  else{
+    // ATH_MSG_DEBUG("Parameter number "<<par_num<<" not in [0,"<<parmax()<<"]; returning...");
+    exit(3);
+  }
+  return par_name;
+}
+
+string std_align::par_title_val(int par_num)const{
+  assert(par_num>=0&&par_num<parmax());
+  ostringstream par_title;bool do_it=false;
+  for(int i=0;i<6;i++){
+    if(par_val(i)!=0)do_it=true;
+  }
+  if(!do_it)return "nominal";
+  if(par_num==0) par_title<<"#Deltas="<<par_val(0)<<" mm";
+  else if(par_num==1) par_title<<"#Deltaz="<<par_val(1)<<" mm";
+  else if(par_num==2) par_title<<"#Deltat="<<par_val(2)<<" mm";
+  else if(par_num==3) par_title<<"#gamma_{s}="<<par_val(3)<<" rad";
+  else if(par_num==4) par_title<<"#beta_{z}="<<par_val(4)<<" rad";
+  else if(par_num==5) par_title<<"#alpha_{t}="<<par_val(5)<<" rad";
+  return par_title.str();
+}
+
+string std_align::par_name_val(int par_num)const{
+  assert(par_num>=0&&par_num<parmax());
+  ostringstream par_name;
+  if(par_num==0) par_name<<"dts";
+  else if(par_num==1) par_name<<"dtz";
+  else if(par_num==2) par_name<<"dtt";
+  else if(par_num==3) par_name<<"drs";
+  else if(par_num==4) par_name<<"drz";
+  else if(par_num==5) par_name<<"drt";
+  par_name<<par_val(par_num);
+  return par_name.str();
+}
+
+string std_align::print()const{
+  if(type==0) return string("_NOM");//nominal
+  string gordon;int maxpar=0;
+  if(type==1){
+    gordon+="_MIS";maxpar=parmax();
+  }
+  else if(type==2){
+    gordon+="_COR";maxpar=parmax();
+  }
+  else if(type==3){
+    gordon+="_3CR";maxpar=parmax();
+  }
+  for(int imal=0; imal<maxpar;imal++){
+    ostringstream addme;
+//     if(par_val(imal)!=0)addme<<(logan.compare("")==0?"":", ")<<par_title(imal)<<"="<<par_val(imal);
+    if(par_val(imal)!=0){
+      addme<<"_"<<par_name(imal)<<par_val(imal);
+    }
+    gordon+=addme.str();
+  }
+  return gordon;
+}
+
+double std_align::par_val(int par_num) const{
+  assert(par_num>=0&&par_num<parmax());
+  double par_val=-999.;
+  if(par_num==0) par_val=translate.X();
+  else if(par_num==1) par_val=translate.Y();
+  else if(par_num==2) par_val=translate.Z();
+  else if(par_num==3) par_val=rotate.X();
+  else if(par_num==4) par_val=rotate.Y();
+  else if(par_num==5) par_val=rotate.Z();
+  return par_val;
+}
+
+void std_align::set_val(int par_num,double par_val){
+  assert(par_num>=0&&par_num<parmax());
+  if(log10(abs(par_val))<-7)par_val=0;
+  if(par_num==0) translate.SetX(par_val);
+  else if(par_num==1) translate.SetY(par_val);
+  else if(par_num==2) translate.SetZ(par_val);
+  else if(par_num==3) rotate.SetX(par_val);
+  else if(par_num==4) rotate.SetY(par_val);
+  else if(par_num==5) rotate.SetZ(par_val);
+}
+
+string std_align::detail()const{
+  string logan;
+  if(type==0)return string("nominal");
+  else if(type==1) logan+="MIS";
+  else if(type==2) logan+="COR";
+  for(int imal=0; imal<parmax();imal++){
+    ostringstream addme;
+//     if(par_val(imal)!=0)addme<<(logan.compare("")==0?"":", ")<<par_title(imal)<<"="<<par_val(imal);
+    if(par_val(imal)!=0)addme<<", "<<par_title(imal)<<"="<<par_val(imal);
+    logan+=addme.str();
+  }
+  if(logan.compare("")==0)logan+=" nominal";
+  return logan;
+}
+
+bool std_align::is_nominal()const{
+  for(int i=0;i<parmax();i++){
+//     if(log10(abs(par_val(i)))>-6) return false;//sometimes doubles as zero get set to really small but not zero values...
+    if(par_val(i)!=0) return false;//sometimes doubles as zero get set to really small but not zero values...
+  }
+  return true;
+}
+
+gcm_key::gcm_key(int _pt,int _ct,int _mis,int corr,int _eta,int _qt,int _bg):pt(_pt),ct(_ct),mis(_mis),correct(corr),eta(_eta),qt(_qt),bgcode(_bg){}
+
+bool gcm_key::operator==(const gcm_key& rhs) const{
+  if(this->pt==rhs.pt&&this->ct==rhs.ct&&this->mis==rhs.mis&&this->correct==rhs.correct&&this->eta==rhs.eta&&this->qt==rhs.qt&&this->bgcode==rhs.bgcode) return true;
+  return false;
+}
+
+bool gcm_key::operator!=(const gcm_key& rhs) const{
+  return !(*this==rhs);
+}
+bool gcm_key::operator<(const gcm_key& rhs) const{
+  if(this->pt<rhs.pt) return true;
+  else if(this->pt==rhs.pt&&this->ct<rhs.ct) return true;
+  else if(this->pt==rhs.pt&&this->ct==rhs.ct&&this->mis<rhs.mis) return true;
+  else if(this->pt==rhs.pt&&this->ct==rhs.ct&&this->mis==rhs.mis&&this->correct<rhs.correct) return true;
+  else if(this->pt==rhs.pt&&this->ct==rhs.ct&&this->mis==rhs.mis&&this->correct==rhs.correct&&this->eta<rhs.eta) return true;
+  else if(this->pt==rhs.pt&&this->ct==rhs.ct&&this->mis==rhs.mis&&this->correct==rhs.correct&&this->eta==rhs.eta&&this->qt<rhs.qt) return true;
+  else if(this->pt==rhs.pt&&this->ct==rhs.ct&&this->mis==rhs.mis&&this->correct==rhs.correct&&this->eta==rhs.eta&&this->qt==rhs.qt&&this->bgcode<rhs.bgcode) return true;
+  return false;
+}
+bool gcm_key::operator<=(const gcm_key& rhs) const{
+  return(*this<rhs || *this==rhs);
+}
+bool gcm_key::operator>(const gcm_key& rhs) const{
+  return !(*this>=rhs);
+}
+bool gcm_key::operator>=(const gcm_key& rhs) const{
+  return(*this>rhs || *this==rhs);
+}
+
+string gcm_key::print()const{
+  ostringstream ricola;ricola<<"(p"<<pt<<",C"<<ct<<",m"<<mis<<",c"<<correct<<",e"<<eta<<",q"<<qt<<",b"<<bgcode<<")";
+  return ricola.str();
+}
+
+void gcm_key::set_var(int var,int val){
+  assert(var>=0&&var<varmax());
+  if(var==0)pt=val;
+  else if(var==1)ct=val;
+  else if(var==2)mis=val;
+  else if(var==3)correct=val;
+  else if(var==4)eta=val;
+  else if(var==5)qt=val;
+  else if(var==6)bgcode=val;
+}
+
+int gcm_key::get_var(int var)const{
+  assert(var>=0&&var<varmax());
+  if(var==0)return pt;
+  else if(var==1)return ct;
+  else if(var==2)return mis;
+  else if(var==3)return correct;
+  else if(var==4)return eta;
+  else if(var==5)return qt;
+  else if(var==6)return bgcode;
+  return -999;
+}
+
+par_par::par_par(double _h,int xct,int uvct,double uver,const string& set,bool ql,bool dlm,bool qbg,double _qt,std_align mis,std_align cor,bool fill_tab,int cs,const string&pd,const string&tg):
+  h(_h),ctx(xct),ctuv(uvct),uverr(uver),setup(set),islarge(ql),q_dlm(dlm),genbg(qbg),qt(_qt),misal(mis),corr(cor),fill_val(fill_tab),colskip(cs),pcrep_dir(pd),tag(tg) {}
+
+string par_par::print_pars(const vector<int>&hide) const{
+  vector<bool>sho(gcm_key().varmax(),true);
+  for(int i=0;i<(int)hide.size();i++){
+    if(hide[i]<0||hide[i]>=gcm_key().varmax())continue;
+    sho[hide[i]]=false;sho[2]=false;
+  }
+  ostringstream mars;
+  if(sho[6])mars<<"_h"<<h;
+  if(sho[1])mars<<"_ctx"<<ctx<<"_ctuv"<<ctuv;
+  if(sho[6])mars<<"_uverr"<<uverr;
+  mars<<"_set"<<setup<<"_ql"<<islarge<<"_qdlm"<<q_dlm;
+  if(sho[6])mars<<"_qbg"<<genbg;
+  if(sho[5])mars<<"_qt"<<qt;
+  if(sho[2])mars<<misal.print()<<corr.print();
+  return mars.str();
+}
+
+string par_par::detail()const{
+  return misal.detail()+"; "+corr.detail();
+}
+
+MMT_Parameters::MMT_Parameters(par_par inputParams, char wedgeSize, const MuonGM::MuonDetectorManager* m_detManager){
+  if(inputParams.misal.is_nominal())inputParams.misal.type=0;
+  //can still do sim_corrections for nominal
+  if(inputParams.corr.is_nominal()&&inputParams.corr.type==2)inputParams.corr.type=0;
+  n_etabins=2;
+  n_etabins=10;
+  n_phibins=10;
+  dtheta_cut=0.016;//16 mrad dtheta cut (VMM limitation...may revise)
+  diag=true;
+  fill0=false;
+  //stuff pulled from the inputParams
+  //h=float32fixed<2>
+  h=float32fixed<2>(inputParams.h);
+  CT_x=inputParams.ctx;
+  CT_uv=inputParams.ctuv;
+  uv_error=float32fixed<2>(inputParams.uverr);
+  setup=(inputParams.setup);
+  islarge=inputParams.islarge;
+  dlm_new=inputParams.q_dlm;
+  chargeThreshold=inputParams.qt;
+  genbg=inputParams.genbg;
+  misal=inputParams.misal;
+  misalign=(misal.type==1);
+  correct=inputParams.corr;
+//   if(correct.type==2)n_phibins*=2;
+  ybins=8; n_stations_eta=(dlm_new?2:4);
+  val_tbl=inputParams.fill_val;
+
+  // Get the modules for each multiplet, the sector and side arguement (third and fifth argument, respectively) shouldn't matter
+  // since the algorithm computes locally
+  char side   = 'A';
+  char sector = wedgeSize;
+  MMDetectorHelper aHelper;
+  MMDetectorDescription* mm_top_mult1    = aHelper.Get_MMDetector(sector, 2, 5, 1, side);
+  MMDetectorDescription* mm_top_mult2    = aHelper.Get_MMDetector(sector, 2, 5, 2, side);
+  MMDetectorDescription* mm_bottom_mult1 = aHelper.Get_MMDetector(sector, 1, 5, 1, side);
+  MMDetectorDescription* mm_bottom_mult2 = aHelper.Get_MMDetector(sector, 1, 5, 2, side);
+
+  // float sWidth_bottom  = mm_bottom_mult1->sWidth();
+  // float sWidth_top     = mm_top_mult1->sWidth();
+  // float lWidth_bottom  = mm_bottom_mult1->lWidth();
+  // float lWidth_top     = mm_top_mult1->lWidth();
+  // float length_bottom  = mm_bottom_mult1->Length();
+  // float length_top     = mm_top_mult1->Length();
+
+  // float minYSize_top      = sWidth_top;// - 2.*xFrame_top;
+  // float minYSize_bottom   = sWidth_bottom;// - 2.*xFrame_bottom;
+
+  // float maxYSize_top      = lWidth_top;// - 2.*xFrame_top;
+  // float maxYSize_bottom   = lWidth_bottom;// - 2.*xFrame_bottom;
+
+  // float xSize_top         = length_top;
+  // float xSize_bottom      = length_bottom;
+
+  MMReadoutParameters roParam_top_mult1    = mm_top_mult1->GetReadoutParameters();
+  MMReadoutParameters roParam_top_mult2    = mm_top_mult2->GetReadoutParameters();
+  MMReadoutParameters roParam_bottom_mult1 = mm_bottom_mult1->GetReadoutParameters();
+  MMReadoutParameters roParam_bottom_mult2 = mm_bottom_mult2->GetReadoutParameters();
+
+  //Needed to get the max channels for the deadZone in the x planes... a little annoying...
+  //Only changes for small or large and per module. Phi, layer, etc don't matter (just set to 1)
+//const MuonGM::MuonDetectorManager* m_MuonGeoMgr;
+  std::string wedgeString = (wedgeSize=='L' ? "MML" : "MMS");
+  // Identifier id_top    = m_detManager->mmIdHelper()->channelID(wedgeString,/*eta*/ 2,1,1, 1, 1);
+  // Identifier id_bottom = m_detManager->mmIdHelper()->channelID(wedgeString,/*eta*/ 1,1,1, 1, 1);
+
+  // int chMax_top    = m_detManager->mmIdHelper()->channelMax(id_top);
+  // int chMax_bottom = m_detManager->mmIdHelper()->channelMax(id_bottom);
+
+  // double dY_top    = 0.5*(maxYSize_top-minYSize_top);//-2.*design_top->deadS);
+  // double dY_bottom = 0.5*(maxYSize_bottom-minYSize_bottom);//-2.*design_top->deadS);
+
+  if(!islarge){
+    ATH_MSG_WARNING("We haven't configured the small wedge parameters yet!  Go bother the developer...kindly...this will likely crash now!\n");
+    return;
+  }
+  //y = vertical distance from beamline
+  //z = into wedge along beamline
+  //x = horizontal distance from beam looking down
+  ////////////  Define the large wedge /////////////////
+  w1=float32fixed<18>(mm_top_mult1->lWidth());   //top
+  w2=float32fixed<18>(mm_top_mult1->lWidth()*1./(cos(roParam_top_mult1.stereoAngel.at(3))));  //determined by 33deg angle   //shelves part
+  w3=float32fixed<18>(mm_bottom_mult1->sWidth());//582.3);  //bottom
+  h1=float32fixed<18>(roParam_top_mult1.roLength+roParam_bottom_mult1.roLength+5.0); //how tall wedge is at w1, ie total height
+
+  wedge_opening_angle = float32fixed<18>(33.);  //degree
+
+  z_large=vector<vector<float32fixed<18> > >(ybins,vector<float32fixed<18> >(setup.length(),float32fixed<18>(0.)));
+
+  // retrieve the z-position of the planes
+  z_nominal.clear();
+  int eta = 1;
+  for (auto pos: MM_firststrip_positions(m_detManager, wedgeString, eta)){
+    z_nominal.push_back(float32fixed<18>(pos.z()));
+  }
+
+  if(z_nominal.size() != setup.size()){
+    ATH_MSG_WARNING( "Number of planes in setup is "<< setup.size()
+              << ", but we have a nominal "     << z_nominal.size() << " planes.");
+    exit(9);
+  }
+
+  mid_plane_large=float32fixed<18>(0.);
+  for(unsigned int iz=0; iz<z_nominal.size(); iz++) mid_plane_large+=z_nominal[iz].getFixed();
+  mid_plane_large/=z_nominal.size();
+
+  vector<int> xp=q_planes("x"),up=q_planes("u"),vp=q_planes("v");
+//   ATH_MSG_DEBUG(<<"MMT_s::MMT_Parameters() mp_large_X ("<<xp.size()<<" planes)\n";
+  mid_plane_large_X=float32fixed<18>(0.);
+  for(unsigned int ix=0;ix<xp.size();ix++) mid_plane_large_X+=z_nominal[xp[ix]].getFixed();
+  mid_plane_large_X /= 1.*xp.size();
+
+//   ATH_MSG_DEBUG(<<"MMT_s::MMT_Parameters() mp_large_UV ("<<up.size()+vp.size()<<" planes)\n";
+  mid_plane_large_UV=float32fixed<18>(0.);
+  for(unsigned int iu=0;iu<up.size();iu++) mid_plane_large_UV+=z_nominal[up[iu]].getFixed();
+  for(unsigned int iv=0;iv<vp.size();iv++) mid_plane_large_UV+=z_nominal[vp[iv]].getFixed();
+  mid_plane_large_UV /= 1.*(up.size()+vp.size());
+
+  H=float32fixed<18>(roParam_bottom_mult1.distanceFromZAxis);//982.); //bottom of wedge to the beamline
+  Hnom=float32fixed<18>(roParam_bottom_mult1.distanceFromZAxis);//982.); //bottom of wedge to the beamline
+  //L=float32fixed<18>(7536.);//7500.); //distance from IP to front side of wedge
+
+  strip_width = float32fixed<4>(roParam_top_mult1.stripPitch);  // 0.5;
+  stereo_degree = float32fixed<4>(TMath::RadToDeg()*roParam_top_mult1.stereoAngel.at(2)); //0.75 //3 in degrees!
+  float32fixed<2> degree=roParam_top_mult1.stereoAngel.at(2);
+  // std::cout << "DEGREE" << degree.getFixed()  << " " << stereo_degree.getFixed() << std::endl;
+  vertical_strip_width_UV = strip_width.getFixed()/cos(degree.getFixed());
+  ybases=vector<vector<float32fixed<18> > >(setup.size(),vector<float32fixed<18> >(n_stations_eta,float32fixed<18>(0.)));
+
+  //gposx for X1; gpos-lpos X2,UV1,UV2
+  vector<float32fixed<18> > xeta,ueta,veta;
+
+  // MM_firststrip_positions returns the position for phi sector 1.
+  // => for the small sectors, rotate this by -1/16 of a rotation to make our lives easier.
+  // in this coordinate basis, x is up/down the wedge (radial), and y is left/right (phi).
+  float cos_rotation = cos(-2*TMath::Pi() / 16.0);
+  float sin_rotation = sin(-2*TMath::Pi() / 16.0);
+  float x_rotated = 0.0;
+  float y_rotated = 0.0;
+  // float z_rotated = 0.0;
+
+  float st_angle = 0.0;
+
+  float radial_pos      = 0;
+  float radial_pos_xx_1 = 0, radial_pos_xx_2 = 0;
+  float radial_pos_uv_1 = 0, radial_pos_uv_2 = 0;
+
+  for (unsigned int eta = 1; eta <= 2; eta++){
+    unsigned int layer = 1;
+    for (auto pos: MM_firststrip_positions(m_detManager, wedgeString, eta)){
+
+      if (wedgeString=="MMS"){
+        x_rotated = pos.x()*cos_rotation - pos.y()*sin_rotation;
+        y_rotated = pos.x()*sin_rotation + pos.y()*cos_rotation;
+        // z_rotated = pos.z();
+      }
+      else{
+        x_rotated = pos.x();
+        y_rotated = pos.y();
+        // z_rotated = pos.z();
+      }
+
+      if      (is_u(layer)) st_angle = -1*abs(stereo_degree.getFixed());
+      else if (is_v(layer)) st_angle =    abs(stereo_degree.getFixed());
+      else                  st_angle = 0;
+
+      // walk from the center of the strip to the position of the strip at the center of the wedge.
+      // NB: for X-planes, this is simply the center of the strip: tan(0) = 0.
+      radial_pos = abs(x_rotated - y_rotated*tan(st_angle * TMath::Pi()/180.0));
+
+      if (is_x(layer) && eta==1) radial_pos_xx_1 = radial_pos;
+      if (is_x(layer) && eta==2) radial_pos_xx_2 = radial_pos;
+      if (is_u(layer) && eta==1) radial_pos_uv_1 = radial_pos;
+      if (is_u(layer) && eta==2) radial_pos_uv_2 = radial_pos;
+
+      layer++;
+    }
+  }
+
+  // store radial positions as fixed point
+  std::vector< float32fixed<18> > radial_pos_xx = {float32fixed<18>(radial_pos_xx_1), float32fixed<18>(radial_pos_xx_2)};
+  std::vector< float32fixed<18> > radial_pos_uv = {float32fixed<18>(radial_pos_uv_1), float32fixed<18>(radial_pos_uv_2)};
+  ybases[0] = radial_pos_xx;
+  ybases[1] = radial_pos_xx;
+  ybases[2] = radial_pos_uv;
+  ybases[3] = radial_pos_uv;
+  ybases[4] = radial_pos_uv;
+  ybases[5] = radial_pos_uv;
+  ybases[6] = radial_pos_xx;
+  ybases[7] = radial_pos_xx;
+
+
+  //now put in the positions at `ly spaced points for a y dependent z
+  // bool sho=true&&debug;
+  bool hack=false;
+  // bool fancy=false;
+  z_large=vector<vector<float32fixed<18> > >(ybins,z_nominal);
+  double pitch_f=1.*sin(correct.rotate.X())*h1.getFixed()/ybins,pitch_b=0,bumper_up=0.0;
+  if(hack){double factor=-1;pitch_f*=factor;pitch_b*=factor;}
+  ATH_MSG_DEBUG("Specs: correct.rotate.X()="<<correct.rotate.X()<<",correct.translate.Z()="<<correct.translate.Z()<<",pitch_f="<<pitch_f);
+  for(int iy=0;iy<ybins;iy++){
+    //z axis in misalignment line points in the opposite direction....TOO LATE! (right handed coordinate system the way we expect for x and y makes this happen)
+    double over_f=pitch_f*(iy+bumper_up)-correct.translate.Z(),over_b=0;//pitch_b*(iy+bumper_up)+correct.dzb;
+    ATH_MSG_DEBUG("iy="<<iy<<"over_f="<<over_f<<",over_b="<<over_b);
+    for(int jp=0;jp<8;jp++){
+      ATH_MSG_DEBUG("z_large["<<iy<<"]["<<jp<<"]"<<z_large[iy][jp].getFixed()<<"--->");
+      if(jp<4)z_large[iy][jp]+=over_f;
+      else z_large[iy][jp]+=over_b;
+      ATH_MSG_DEBUG(z_large[iy][jp].getFixed());
+    }
+  }
+
+  //////// TABLE GENERATORS ///////////////  //size of cartesian steps
+  h_mx = float32fixed<2>(0.0001); // 0.005;  //0.001;
+  h_my = float32fixed<2>(0.0001); //0.005;  //0.001;
+  m_y_max = ( (Hnom+h1)/z_nominal.front() );
+  m_y_min = ( H/z_nominal.back() );
+  m_x_max = (w2/2.)/z_nominal.front();
+  m_x_min = (w2/-2.)/z_nominal.back(); //-2;
+
+  n_x = ceil((m_x_max - m_x_min).getFixed()/h_mx.getFixed());
+  n_y = ceil((m_y_max - m_y_min).getFixed()/h_my.getFixed());
+  /////////////////////////////////////////
+
+  //////////  for cut applications  /////////////////
+  double tol = 0;  //0.02;
+  //   minimum_large_theta = atan((cos(TMath::Pi()/2-TMath::Pi()/180*wedge_opening_angle/2)*w3+H)/z_nominal.front())+tol;
+  //   ATH_MSG_DEBUG("Old min theta has dist_T of "<<(cos(TMath::Pi()/2-TMath::Pi()/180*wedge_opening_angle/2)*w3+H)<<" for a min angle of "<<minimum_large_theta<<" eta="<<-log(tan(0.5*minimum_large_theta)));
+  //   maximum_large_theta = atan((H+h1)/z_nominal.back())-tol;
+
+  //BLC had some interesting bounds...let's do the ones that make sense to me
+  minimum_large_theta = float32fixed<4>(atan(H.getFixed()/z_nominal.back().getFixed())+tol);
+  maximum_large_theta = float32fixed<4>(atan(sqrt(pow( (Hnom+h1).getFixed(),2)+0.25*pow(w1.getFixed(),2))/z_nominal.back().getFixed())-tol);
+  //   minimum_large_phi = float32fixed<4>(TMath::Pi()/2-TMath::DegToRad(0.5*wedge_opening_angle.getFixed())+tol);  maximum_large_phi = float32fixed<4>(TMath::Pi()/2+TMath::DegToRad(0.5*wedge_opening_angle.getFixed())-tol);
+  minimum_large_phi = float32fixed<4>(-TMath::DegToRad()*0.5*wedge_opening_angle.getFixed())+tol;  maximum_large_phi = float32fixed<4>(TMath::DegToRad()*(0.5*wedge_opening_angle.getFixed())-tol);
+  ///////////////////////////////////////////////////
+
+  double phiseg= ((maximum_large_phi-minimum_large_phi)/n_phibins).getFixed();
+  m_phibins.clear();
+  for(int i=0;i<=n_phibins;i++)  m_phibins.push_back(  (minimum_large_phi+phiseg*i).getFixed()   );
+  double etalo=-log(tan(0.5*maximum_large_theta.getFixed())),etahi=-log(tan(0.5*minimum_large_theta.getFixed()));bool custom=false;
+  if(custom){
+    //these custom eta bins have the top station as one bin (since that has normal shape for the phi resolutions)
+    //and separates the old part from gap to 2.5 (where the simulation used to be limited) and then one bin from 2.5 to max (new stuff)
+    m_etabins.clear();
+    m_etabins.push_back(etalo);
+    double etamid=asinh(  (z_nominal.front()/ybases.front()[1] ).getFixed()  );
+    double intermid=(2.5-etamid)/8.;
+    for(int i=0;i<8;i++)m_etabins.push_back(etamid+intermid*i);
+    m_etabins.push_back(2.5);
+    m_etabins.push_back(etahi);
+    n_etabins=m_etabins.size()-1;
+  }
+  else if(n_etabins==(int)xeta.size()){
+    m_etabins.push_back(etalo);
+    for(int i=n_etabins-1;i>=0;i--){
+      m_etabins.push_back(asinh( (z_nominal.front()/xeta[i]).getFixed() ));
+    }
+  }
+  else{
+    double increment=(etahi-etalo)/n_etabins*1.;
+    for(int i=0;i<=n_etabins;i++)m_etabins.push_back(etalo+increment*i);
+  }
+
+  ///////   Rough ROI  ////////////
+  n_theta_rois = 32;
+  n_phi_rois = 16;
+  //////////////////////////////
+
+  /////// Front Filter /////////////
+  double theta_max=maximum_large_theta.getFixed();
+  double theta_min=minimum_large_theta.getFixed();
+
+  slope_max = float32fixed<3>(tan(theta_max));
+  slope_min = float32fixed<3>(tan(theta_min));
+
+  //--- the following slope road and thresholds are often re-defined immediately in any master script running the file
+  //   h = 0.0009;//2.5e-4;  //10^(-3);
+  //   CT_x = 3;
+
+  CT_u = 0;
+  CT_v = 0;
+  //   CT_uv = 2;//3 in Run_File.m
+  CT = CT_x + CT_uv;
+  x_error = .0035;//h*0.5;
+  //uv_error = 0.0035;//3.5e-3;
+  BC_window = 2;
+  //////////////////////////////////
+  //tables--with parameters set, we can now generate them
+  /*DT_Factors=vector<vector<double> >();
+  Slope_to_ROI=vector<vector<vector<double> > >();*/
+  if(val_tbl){
+    //Reference for local slope least squares fit
+    Local_Slope_A_B();
+
+    //cartesian slopes to phi and theta reference table
+    Slope_Components_ROI();
+
+    //Delta theta reference table to avoid division operation
+    Delta_theta_optimization_LG();
+
+    //simulation-based correction fill...if available
+    if(correct.type==3)fill_crep_table(inputParams.pcrep_dir,inputParams.tag);
+    fill_yzmod();
+  }
+}
+
+std::vector<Amg::Vector3D> MMT_Parameters::MM_firststrip_positions(const MuonGM::MuonDetectorManager* m_detManager, const std::string& wedge, int eta){
+
+  std::vector<Amg::Vector3D> positions;
+  positions.clear();
+
+  Identifier strip_id;
+  int        phi = 1, strip = 1;
+
+  for (unsigned int mult = 1; mult <= n_multiplets; mult++) {
+    for (unsigned int layer = 1; layer <= n_layers; layer++) {
+
+      Amg::Vector3D pos(0.0, 0.0, 0.0);
+      strip_id = m_detManager->mmIdHelper()->channelID(wedge, eta, phi, mult, layer, strip);
+      const MuonGM::MMReadoutElement* readout = m_detManager->getMMReadoutElement(strip_id);
+      readout->stripGlobalPosition(strip_id, pos);
+      positions.push_back(pos);
+
+      ATH_MSG_DEBUG( "global z-pos. (using MMReadoutElement) for"
+                           << " wedge size "       << wedge
+                           << " multiplet "        << mult
+                           << " layer "            << layer
+                           << " | z = "            << pos.z() );
+    }
+  }
+
+   return positions;
+}
+
+int MMT_Parameters::is_x(int plane){ return (std::find(planes_x.begin(), planes_x.end(), plane) != planes_x.end()) ? 1 : 0; }
+int MMT_Parameters::is_u(int plane){ return (std::find(planes_u.begin(), planes_u.end(), plane) != planes_u.end()) ? 1 : 0; }
+int MMT_Parameters::is_v(int plane){ return (std::find(planes_v.begin(), planes_v.end(), plane) != planes_v.end()) ? 1 : 0; }
+
+vector<int> MMT_Parameters::q_planes(const string& type) const{
+  if(type.length()!=1) exit(0);
+  if(type.compare("x")!=0&&type.compare("u")!=0&&type.compare("v")!=0){
+    ATH_MSG_WARNING("Unsupported plane type " << type << " in q_planes...aborting....\n");
+    exit(0);
+  }
+  vector<int> q_planes;
+  for(unsigned int ip=0;ip<setup.size();ip++){
+    if(setup.compare(ip,1,type)==0){ q_planes.push_back(ip);
+      }
+  }
+  return q_planes;
+}
+
+par_par MMT_Parameters::param_par() const{
+  return par_par(h.getFixed(),CT_x,CT_uv,uv_error.getFixed(),setup,islarge,dlm_new,genbg,chargeThreshold,misal,correct,val_tbl);
+}
+
+double MMT_Parameters::y_from_eta_wedge(double eta,int plane)const{
+  //assumes wedge geometry--average x^2, is 1/3 y^2*tan^2(stereo_degree), for eta/y correspondence
+  double z=z_nominal[plane].getFixed(),zeta=TMath::DegToRad()*(0.5*stereo_degree.getFixed());
+  return z*tan(2*atan(exp(-1.*eta)))/sqrt(1+tan(zeta)*tan(zeta)/3.);
+}
+
+double MMT_Parameters::eta_wedge_from_y(double y,int plane)const{
+  double z=z_nominal[plane].getFixed(),zeta=TMath::DegToRad()*(0.5*stereo_degree.getFixed());
+  return -1.*log(tan(0.5*atan(y/z*sqrt(1+tan(zeta)*tan(zeta)/3.))));
+}
+
+int MMT_Parameters::ybin(double y,int plane)const{
+//   return 0;
+  double base=ybases[plane].front().getFixed(),seg_len=h1.getFixed()/ybins;
+  //if it's over, just keep it...for now--if it's below keep it, too: perhaps necessary for larger slope road sizes
+  //update: DON'T keep the below ones....terrible things for drs
+  int the_bin=ybases.front().size()-1;
+  for(int i=0;i<=ybins;i++){
+    if(y<base+seg_len*i)return i-1;
+  }
+//   if(the_bin<0)return 0;
+  return the_bin;
+
+  double eta_min_y=eta_wedge_from_y(base+h1.getFixed(),plane),eta_max_y=eta_wedge_from_y(base,plane),eta_y=eta_wedge_from_y(y,plane);
+  double segment_length=(eta_max_y-eta_min_y)/ybins;
+  for(int i=ybins;i>=0;i--){
+    if(eta_y>(eta_max_y-segment_length*i)){
+//       ATH_MSG_DEBUG(<<"y="<<y<<" is less than H+l*i="<<H<<"+"<<segment_length<<"*"<<i<<"="<<H+segment_length*i<<" returns a YBIN of "<<i-1);
+      return i-1;
+    }
+  }
+}
+
+int MMT_Parameters::ybin(float32fixed<18> y,int plane)const{
+  return ybin(y.getFixed()*MMTStructConst,plane);
+}
+int MMT_Parameters::ybin(float32fixed<yzdex> y,int plane)const{
+  return ybin(y.getFixed()*MMTStructConst,plane);
+}
+
+// double MMT_Parameters::ymid_eta_bin(int bin,int plane)const{
+//   double base=ybases[plane].front().getFixed();
+//   double eta_min_y=eta_wedge_from_y(base+h1.getFixed(),plane),eta_max_y=eta_wedge_from_y(base,plane);
+//   if(bin<0)return eta_max_y;
+//   if(bin>ybins)return eta_min_y;
+//   double eta=eta_min_y+(eta_max_y-eta_min_y)/ybins*(bin+0.0);
+//   return y_from_eta_wedge(eta,plane);
+// }
+
+//make the local slope ab for all ybins
+//track percent in number of same bin
+//maybe do a th2d scatter in bins for all/for a given ybin in plane 0
+
+void MMT_Parameters::fill_full_Ak_Bk(){
+  AB_k_local.clear();
+  vector<int> x_planes=q_planes("x"); int nx=x_planes.size();
+  vector<int> variable_key(nx,-1);//a grid with all possible
+  do{
+    AB_k_local[variable_key]=ak_bk_hit_bins(variable_key);
+  }while(!toggle_key(variable_key,-1,ybins-1));
+}
+
+//The problem is this: we don't a priori know how many X planes there will be (configured at run time)
+//so, we don't know how many Ak, Bk constants we'll need (it's n_Xplanes * ybins)
+//The idea, then is to run through the possible values like a key with n_Xplanes digits, each of which can take values in [-1,ybins-1]. (-1 is the no hit here value)
+//We need to toggle through all possible values; the idea is to start with the lowest entry (-1,-1,...,-1) and increment right to left
+//We start at the rightmost entry and check values until we get a value != highest possible value and then
+// increment this up, resetting all values to the right of it to lo_value.
+//Shut up, this is the first time I've ever needed variable for numbers loops that wasn't obviously covered by vector sizes.
+bool MMT_Parameters::toggle_key(vector<int>& key,int lo_value,int hi_value)const{
+  for(int idex=(int)(key.size()-1);idex>=0;idex--){
+    if(key[idex]==hi_value) continue;
+    else{
+      key[idex]++;
+      for(unsigned int reset_dex=idex+1;reset_dex<key.size();reset_dex++) key[reset_dex]=lo_value;
+      return false;
+    }
+  }
+  return true;
+}
+
+int MMT_Parameters::eta_bin(double theta) const{
+  int ebin=-999; double eta=-log(tan(0.5*theta));
+  if(theta==-999||theta==-16)return -1;
+  for(int i=0;i<=n_etabins;i++){
+    if(eta<m_etabins[i]){
+      ebin=i-1;
+      break;
+    }
+  }
+  //we want the histograms binned on truth eta
+  //event selection eta cuts are done on theta_ip, not theta_pos
+  if(ebin==-1) return 0;
+  else if(ebin==-999) return n_etabins-1;
+  /*
+  if(ebin==-1){
+    exit(6);
+    }*/
+  return ebin;
+}
+
+string MMT_Parameters::eta_str(int eta) const{
+  ostringstream what; what<<"_eta";
+  if(eta>=0&&eta<n_etabins) what<<m_etabins[eta]<<"_"<<m_etabins[eta+1];
+  else what << "all";
+  return what.str();
+}
+
+int MMT_Parameters::phi_bin(double phi) const{
+  int pbin=-999;
+  if(phi==-999||phi==-16)return n_phibins*0.5;
+  for(int i=0;i<=n_phibins;i++){
+    if(phi<m_phibins[i]){
+      pbin=i-1;
+      break;
+    }
+  }
+  //we want the histograms binned on truth phi
+  //event selection eta cuts are done on phi_ip, not phi_pos
+  if(pbin==-1) return 0;
+  else if(pbin==-999) return n_phibins-1;
+  return pbin;
+}
+
+string MMT_Parameters::phi_str(int phi) const{
+  ostringstream what; what<<"_phi";
+  if(phi>=0&&phi<n_phibins) what<<m_phibins[phi]<<"_"<<m_phibins[phi+1];
+  else what << "all";
+  return what.str();
+}
+
+//calculate A_k and B_k
+//these are NOT the constants defined in the note--firstly, they use an altered length scale for fixed point
+//B_k is otherwise the same
+//A_k is the average z
+pair<double,double> MMT_Parameters::ak_bk_hit_bins(const vector<int>& hits)const{
+  vector<int> x_planes=q_planes("x");
+  assert(hits.size()==x_planes.size());
+  int nhits=0; double sum_x=0,sum_xx=0;
+  for(int ih=0;ih<(int)(hits.size());ih++){
+    if(hits[ih]<0||hits[ih]>=ybins)continue;
+    double addme=z_large[hits[ih]][x_planes[ih]].getFixed()/MMTStructConst;
+    sum_x  += addme;
+    sum_xx += addme*addme;
+    nhits++;
+  }
+  double diff = nhits*sum_xx-sum_x*sum_x;
+  return pair<double,double>(1.*nhits/sum_x, 1.*sum_x/diff);
+}
+
+void MMT_Parameters::fill_slims(){
+  Ak_local_slim=vector<vector<vector<float32fixed<zbardex> > > >(11,vector<vector<float32fixed<zbardex> > >(ybins,vector<float32fixed<zbardex> >()));
+  Bk_local_slim=vector<vector<vector<float32fixed<bkdex> > > >(11,vector<vector<float32fixed<bkdex> > >(ybins,vector<float32fixed<bkdex> >()));
+  for(int xdex=0;xdex<11;xdex++){
+    vector<bool>xhits(lcl_int_to_xhits(xdex));
+    int ntru=0;
+    for(int k=0;k<(int)xhits.size();k++)ntru+=xhits[k];
+    ATH_MSG_DEBUG("xdex="<<xdex<<" ("<<ntru<<" hits)");
+    for(int ybin=0;ybin<ybins;ybin++){
+      ATH_MSG_DEBUG("\tybin="<<ybin );
+      if(ybin==ybins-1)ntru=1;
+      for(int which=0;which<ntru;which++){
+ 	ATH_MSG_DEBUG("\t\twhich="<<which);
+	vector<int>indices(indices_to_key(xdex,ybin,which));
+  for(int i=0;i<(int)indices.size();i++)  ATH_MSG_DEBUG(indices[i]);
+	pair<double,double>howdy(ak_bk_hit_bins(indices));
+ 	ATH_MSG_DEBUG(setprecision(8)<<"---akbk.first="<<howdy.first<<", second="<<howdy.second);
+	Ak_local_slim[xdex][ybin].push_back(howdy.first);
+	Bk_local_slim[xdex][ybin].push_back(howdy.second);
+      }
+    }
+  }
+//   index_key_test();
+}
+
+void MMT_Parameters::fill_crep_table(const string&dir,const string&tag){
+  par_par bill=param_par();
+  bill.ctx=2;bill.ctuv=1;
+  bill.corr.type=0;
+  double fudge_factor=(correct.translate.Z()!=0||correct.rotate.X()!=0?0.5:1.);
+  int nk=nsimmax_1d();
+  ostringstream crep_nom;
+  crep_nom<<dir<<(dir.substr(dir.length()-1)=="/"?"":"/")<<"pcrep"<<bill.print_pars()<<"_"<<tag<<".txt";
+  std::ifstream crep(crep_nom.str().c_str());
+  crep_table=vector<vector<vector<vector<float> > > >(n_etabins,vector<vector<vector<float> > >(n_phibins,vector<vector<float> >(nk,vector<float>(3,0))));
+  if(crep.good()){
+    for(int i=0;i<n_etabins;i++){
+      string estr=eta_str(i);
+      for(int j=0;j<n_phibins;j++){
+	string pstr=phi_str(i);
+	for(int k=0;k<nk;k++){
+	string title;double the,phi,dth;
+	crep>>title;
+	if(title!=estr+pstr+index_to_hit_str(k)){
+	  ATH_MSG_WARNING("Something's wrong with your simulation-based correct read-in...you want entries for "<<estr+pstr+index_to_hit_str(k)<<", but you got "<<title<<" in "<<crep_nom.str());
+	  exit(2);
+	}
+	crep>>the>>phi>>dth;
+	crep_table[i][j][k][0]=the*fudge_factor;crep_table[i][j][k][1]=phi;crep_table[i][j][k][2]=dth*fudge_factor;
+	}
+      }
+    }
+  }
+}
+
+void MMT_Parameters::fill_yzmod(){
+  vector<int> x_planes=q_planes("x");//this tells us which planes are x planes
+  int nxp=x_planes.size();
+  ymod=vector<vector<vector<float32fixed<yzdex> > > >(n_etabins,vector<vector<float32fixed<yzdex> > >(n_phibins,vector<float32fixed<yzdex> >(nxp,float32fixed<yzdex>(0.))));
+  zmod=vector<vector<vector<float32fixed<yzdex> > > >(n_etabins,vector<vector<float32fixed<yzdex> > >(n_phibins,vector<float32fixed<yzdex> >(nxp,float32fixed<yzdex>(0.))));
+  double pbump=0.5*(maximum_large_phi.getFixed()-minimum_large_phi.getFixed())/(n_phibins);
+  for(int et=0;et<n_etabins;et++){
+    double theta=2*atan(exp(-1.*m_etabins[et]));
+    for(int ph=0;ph<n_phibins;ph++){
+      double phi=m_phibins[ph]+pbump;
+      for(int pl=0;pl<nxp;pl++){
+        if(correct.type!=2||x_planes[pl]>3)continue;//if we don't correct or if it's the back multiplet, just leave these as zero
+
+        double yadd=0.;
+        double zadd=0.;
+        double zflt=z_nominal[x_planes[pl]].getFixed();
+        double x=zflt*tan(theta)*sin(phi);
+        double yflt=zflt*tan(theta)*cos(phi);
+        double yup=yflt-ybases[x_planes[pl]][0].getFixed();
+
+        double alpha=correct.rotate.Z();
+        double beta=correct.rotate.Y();
+        // double gamma=correct.rotate.X();
+        //gamma--do here if necessary...problematic if so
+
+        //beta angle--rotation around the y axis; the x coordinate or phi taken care of in correction to slope road limits in x in constructor
+        //z is changed, and so y must be scaled (should it?): THIS SHIT DOESN'T WORK....
+        // 	zadd-=1.*x*sin(beta)/MMTStructConst;yadd+=yup*zadd/zflt/MMTStructConst;
+        zadd-=tan(beta)*tan(theta)*sin(phi)*zflt/MMTStructConst;
+        yadd-=tan(beta)*tan(theta)*sin(phi)*yflt/MMTStructConst;
+
+        //alpha angle--rotation around the z axis; z unchanged, y the expected rotation (final rotation taken care of at start)
+        yadd+=((cos(alpha)-1.)*yup+x*sin(alpha))/MMTStructConst;
+
+        //add the entries
+        ymod[et][ph][pl]=float32fixed<yzdex>(yadd);zmod[et][ph][pl]=float32fixed<yzdex>(zadd);
+      }
+    }
+  }
+}
+
+void MMT_Parameters::index_key_test(){
+  for(int xdex=0;xdex<11;xdex++){
+    vector<bool>xhits(lcl_int_to_xhits(xdex));
+    int ntru=0;
+    for(int k=0;k<(int)xhits.size();k++)ntru+=xhits[k];
+    for(int ybin=0;ybin<ybins;ybin++){
+      if(ybin==ybins-1)ntru=1;
+      for(int which=0;which<ntru;which++){
+	ATH_MSG_DEBUG("Let's start with ["<<xdex<<"]["<<ybin<<"]["<<which<<"] makes ");
+	vector<int>key(indices_to_key(xdex,ybin,which));
+	for(int i=0;i<(int)key.size();i++) ATH_MSG_DEBUG(key[i]<<" ");
+	int x,y,w; key_to_indices(key,x,y,w);
+	ATH_MSG_DEBUG("...and back to ["<<x<<"]["<<y<<"]["<<w<<"]  ");
+      }
+    }
+  }
+}
+
+
+void MMT_Parameters::key_to_indices(const vector<int>& key,int& xdex,int& ybin,int& which)const{
+  vector<bool> boogah;vector<int> was_hit;
+  for(unsigned int i=0;i<key.size();i++){
+    boogah.push_back(key[i]>=0&&key[i]<ybins);
+    if(boogah.back())was_hit.push_back(key[i]);
+  }
+  bool even=true;int dev_pos=0,dev_bin=-1;
+  for(unsigned int i=0;i<was_hit.size();i++){
+    if(was_hit[i]!=was_hit.front()){
+      if(even){
+	dev_pos=i;
+	if(was_hit[i]!=was_hit.front()+1){
+	  dev_pos=-2;break;
+	}
+	else dev_bin=was_hit[i];
+      }
+      else if(was_hit[i]!=dev_bin){
+	dev_pos=-2;break;
+      }
+      even=false;
+    }
+  }
+  if(dev_pos<0||dev_pos>=(int)boogah.size())which=0;//if the track isn't upward going, make the single bin assumption
+  else which=dev_pos;
+  xdex=xhits_to_lcl_int(boogah);
+  if(was_hit.size()==0) was_hit.push_back(-999);
+  ybin=was_hit.front();
+}
+
+vector<int> MMT_Parameters::indices_to_key(int xdex,int ybin,int which)const{
+  vector<bool> xhits=lcl_int_to_xhits(xdex);
+  vector<int> key(xhits.size(),-1);
+  int count=0;int raise_it=(which==0?xhits.size():which);
+  for(unsigned int ix=0;ix<xhits.size();ix++){
+    if(xhits[ix]){
+      key[ix]=ybin;
+      if(count>=raise_it)key[ix]++;
+      count++;
+    }
+  }
+  return key;
+}
+
+void MMT_Parameters::Local_Slope_A_B(){
+  fill_full_Ak_Bk();
+  fill_slims();
+}
+
+void MMT_Parameters::Slope_Components_ROI(){
+  //these are mm/mm i.e. not units of strip #
+//   double angle=max(correct.dt0,correct.dt1);
+//   double m_y_max = (H+h1*cos(angle))/z_hit.front(); //2;
+
+  Slope_to_ROI=vector<vector<vector<float32fixed<4> > > >(n_y,vector<vector<float32fixed<4> > >(n_x,vector<float32fixed<4> >(2,float32fixed<4>(0.))));
+  for(int ix=0;ix<n_x;ix++){
+    for(int jy=0;jy<n_y;jy++){
+      int xdex=ix,ydex=jy+1;
+      if(xdex==0)xdex++;
+
+      double m_x = ( m_x_min + h_mx * xdex ).getFixed();
+      double m_y = ( m_y_min + h_my * ydex ).getFixed();
+
+      double theta = atan(sqrt(m_x*m_x+m_y*m_y));
+      double phi=atan2(m_y,m_x);
+      if(minimum_large_phi>phi || maximum_large_phi<phi) phi=999;
+      if(minimum_large_theta>theta || maximum_large_theta<theta) theta=0;
+      Slope_to_ROI[jy][ix][0] = theta;
+      Slope_to_ROI[jy][ix][1] = phi;
+    }
+  }
+  ATH_MSG_DEBUG( "return Slope_Components_ROI" );
+}
+
+void MMT_Parameters::Delta_theta_optimization_LG(){
+  DT_Factors.clear();
+  double a=1.;   //sin(pi/2+TMath::DegToRad(28/4));  //sin(phi);
+  int number_LG_regions = 256;
+  double LG_min = 0;
+  double LG_max = 0.5;
+  double LG_region_width = (LG_max - LG_min)/number_LG_regions;//LG_min=0 means e no neg slopes
+
+  for(int ilgr=0; ilgr<number_LG_regions; ilgr++){
+    vector<float32fixed<2> > tmpVector;
+    tmpVector.push_back(LG_min+LG_region_width *ilgr);//LG
+    tmpVector.push_back(  float32fixed<2>(1.) / (tmpVector.front()/a  +  a));//mult_factor
+    DT_Factors.push_back(tmpVector);
+  }
+  ATH_MSG_DEBUG( "return Delta_theta_optimization_LG" );
+}
+
+int MMT_Parameters::xhits_to_lcl_int(const vector<bool>& xhits) const{
+  if(xhits.size()!=4){
+    ATH_MSG_WARNING("There should be 4 xplanes, only "<<xhits.size()<<" in the xhit vector given to local_slope_index()\n"); exit(99);
+  }
+  if(xhits[0]&& xhits[1]&& xhits[2]&& xhits[3]) return 0;
+  else if( xhits[0]&& xhits[1]&& xhits[2]&&!xhits[3]) return 1;
+  else if( xhits[0]&& xhits[1]&&!xhits[2]&& xhits[3]) return 2;
+  else if( xhits[0]&&!xhits[1]&& xhits[2]&& xhits[3]) return 3;
+  else if(!xhits[0]&& xhits[1]&& xhits[2]&& xhits[3]) return 4;
+  else if( xhits[0]&& xhits[1]&&!xhits[2]&&!xhits[3]) return 5;
+  else if( xhits[0]&&!xhits[1]&& xhits[2]&&!xhits[3]) return 6;
+  else if( xhits[0]&&!xhits[1]&&!xhits[2]&& xhits[3]) return 7;
+  else if(!xhits[0]&& xhits[1]&& xhits[2]&&!xhits[3]) return 8;
+  else if(!xhits[0]&& xhits[1]&&!xhits[2]&& xhits[3]) return 9;
+  else if(!xhits[0]&&!xhits[1]&& xhits[2]&& xhits[3]) return 10;
+  return -999;
+}
+
+int MMT_Parameters::nsimmax_1d()const{
+  return pow(2.,setup.size());
+}
+
+int MMT_Parameters::bool_to_index(const vector<bool>&track)const{
+  assert(track.size()==setup.size());
+  int index=0;
+  for(int plane=0;plane<(int)track.size();plane++){
+    if(!track[plane])continue;
+    index = index | int(pow(2.,plane));
+  }
+  return index;
+}
+
+vector<bool> MMT_Parameters::index_to_bool(int index)const{
+  vector<bool>code(setup.size(),false);
+  for(int i=0;i<(int)code.size();i++)code[i]=(index&int(pow(2.,i)));
+  return code;
+}
+
+string MMT_Parameters::index_to_hit_str(int index)const{
+  return bool_to_hit_str(index_to_bool(index));
+}
+
+string MMT_Parameters::bool_to_hit_str(const vector<bool>&track)const{
+  ostringstream ok;ok<<"_ht";
+  for(int i=0;i<(int)track.size();i++)ok<<track[i];
+  return ok.str();
+}
+
+vector<bool> MMT_Parameters::lcl_int_to_xhits(int lcl_int)const{
+  vector<bool> xhits(4,true);
+  if(lcl_int<0||lcl_int>10){
+    ATH_MSG_WARNING("Wherefore dost thou chooseth the hits of planes of X for thy lcl_int "<<lcl_int<<"?  'Tis not in [0,10]!"); exit(-99);
+  }
+  if(lcl_int==0) return xhits;
+  if(lcl_int==1||lcl_int==5||lcl_int==6||lcl_int==8)xhits[3]=false;
+  if(lcl_int==2||lcl_int==5||lcl_int==7||lcl_int==9)xhits[2]=false;
+  if(lcl_int==3||lcl_int==6||lcl_int==7||lcl_int==10)xhits[1]=false;
+  if(lcl_int==4||lcl_int==8||lcl_int==9||lcl_int==10)xhits[0]=false;
+  return xhits;
+}
+
+string MMT_Parameters::lcl_int_to_xhit_str(int lcl_int)const{
+  vector<bool>hits=lcl_int_to_xhits(lcl_int);
+  ostringstream out;out<<"_xht";
+  for(int i=0;i<(int)hits.size();i++)out<<hits[i];
+  return out.str();
+}
+
+evInf_entry::evInf_entry(int event,int pdg,double e,double p,double ieta,double peta,double eeta,double iphi,double pphi,double ephi,double ithe,double pthe,double ethe,double dth,
+			 int trn,int mun,const TVector3& tex,int troi,int antev,int postv,int nxh,int nuvh,int nxbg,int nuvbg,double adt,int difx,
+			 int difuv,bool cut,bool bad)
+  :athena_event(event),pdg_id(pdg),E(e),pt(p),eta_ip(ieta),eta_pos(peta),eta_ent(eeta),phi_ip(iphi),phi_pos(pphi),phi_ent(ephi),theta_ip(ithe),theta_pos(pthe),theta_ent(ethe),
+   dtheta(dth),truth_n(trn),mu_n(mun),vertex(tex),truth_roi(troi),N_hits_preVMM(antev),N_hits_postVMM(postv),N_X_hits(nxh),N_UV_hits(nuvh),NX_bg_preVMM(nxbg),
+   NUV_bg_preVMM(nuvbg),avg_drift_time(adt),max_less_min_hitsteps_X(difx),max_less_min_hitsteps_UV(difuv),pass_cut(cut),bad_wedge(bad) {}
+
+void evInf_entry::print() const{
+}
+
+evFit_entry::evFit_entry(int event,float32fixed<4> fthe,float32fixed<4> fphi,float32fixed<2> fdth,int roi,int xhit,int uvhit,int bgx,int bguv,float32fixed<2> dth_nd,int hc,int tph,int bgph)
+  :athena_event(event),fit_theta(fthe),fit_phi(fphi),fit_dtheta(fdth),fit_roi(roi),X_hits_in_fit(xhit),UV_hits_in_fit(uvhit),bg_X_fit(bgx),
+   bg_UV_fit(bguv),dtheta_nodiv(dth_nd),hcode(hc),truth_planes_hit(tph),bg_planes_hit(bgph) {}
+
+void evFit_entry::print()const{
+}
+
+hitData_key::hitData_key(int bct, double t, double gt, int vmm, int ev):BC_time(bct),time(t),gtime(gt),VMM_chip(vmm),event(ev) {}
+
+bool hitData_key::operator==(const hitData_key& rhs) const{
+  if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime==rhs.gtime&&this->VMM_chip==rhs.VMM_chip&&this->event==rhs.event) return true;
+  return false;
+}
+
+bool hitData_key::operator!=(const hitData_key& rhs) const{
+  return !(*this==rhs);
+}
+bool hitData_key::operator<(const hitData_key& rhs) const{
+  if(this->BC_time<rhs.BC_time) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time<rhs.time) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime<rhs.gtime) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime==rhs.gtime&&this->VMM_chip<rhs.VMM_chip) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime==rhs.gtime&&this->VMM_chip==rhs.VMM_chip&&this->event<rhs.event) return true;
+  return false;
+}
+
+bool hitData_key::operator>(const hitData_key& rhs) const{
+  if(this->BC_time>rhs.BC_time) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time>rhs.time) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime>rhs.gtime) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime==rhs.gtime&&this->VMM_chip>rhs.VMM_chip) return true;
+  else if(this->BC_time==rhs.BC_time&&this->time==rhs.time&&this->gtime==rhs.gtime&&this->VMM_chip==rhs.VMM_chip&&this->event>rhs.event) return true;
+  return false;
+}
+
+bool hitData_key::operator<=(const hitData_key& rhs) const{
+  return(*this<rhs || *this==rhs);
+}
+
+bool hitData_key::operator>=(const hitData_key& rhs) const{
+  return(*this>rhs || *this==rhs);
+}
+
+string hitData_key::hdr()const{
+  ostringstream out;
+  out<<setw(9)<<"BC_t"<<setw(9)<<"t"<<setw(9)<<"g_t"<<setw(9)<<"VMM"<<setw(9)<<"event";
+  return out.str();
+}
+string hitData_key::str()const{
+  ostringstream out;
+  out<<setw(9)<<this->BC_time<<setw(9)<<this->time<<setw(9)<<this->gtime<<setw(9)<<this->VMM_chip<<setw(9)<<this->event;
+  return out.str();
+}
+void hitData_key::print()const{
+  // ATH_MSG_INFO("^^^^^^hitData_key"<<hdr());
+}
+
+
+hitData_info::hitData_info(int pl,int station_eta,int strip,MMT_Parameters *m_par,const TVector3&tru,double tpos,double ppos):plane(pl){
+  (void) tru;
+  // ATH_MSG_DEBUG( "BEGIN hitData_info construtor for plane "<<pl<<", esta "<<station_eta<<", m_par: "<<m_par<<", (truth theta: "<<tpos<<",phi: "<<ppos<<") print tru....");
+  // ATH_MSG_DEBUG(tru.Print() );
+  //The idea here is to calculate/assign a y and a z to a given hit based on its pl/station/strip, the geometry of the detector (in m_par), and misalignment based on position.
+  //We start by assigning the plane dependent strip width (the stereo planes come in skew and so get divided by cos(stereo_angle)
+  char schar=m_par->setup[plane];
+  bool horizontal=(schar=='x'||schar=='X');
+  // ATH_MSG_DEBUG("We have a "<<(horizontal?"horizontal":"stereo")<<" hit in plane "<<plane<<", station_eta "<<station_eta<<", strip# "<<strip);
+  double swidth=m_par->strip_width.getFixed();
+  double base=m_par->ybases[plane][station_eta-1].getFixed();
+  // double zplane=m_par->z_nominal[plane].getFixed();
+  // double planebase=m_par->ybases[plane].front().getFixed();
+  if(!horizontal)swidth/=cos(TMath::DegToRad()*(m_par->stereo_degree.getFixed()));
+  //Next, we initialize some constants--y will eventually be calculated as y=base+scale*(width*strip+delta_y(misalignment,correction)).
+  //The correction portion of delta_y is done in in the calculations on the ybases object in m_par
+  //yup, or "y up" is the portion of y above the base of the plane (i.e. in the detector)
+  double delta_y=mis_dy(pl,m_par,tpos,ppos),yup_scale=1.;
+//   if(plane<4&&m_par->correct.type==2){yup_scale*=cos(m_par->correct.rotate.X());delta_y+=m_par->correct.translate.Y();}
+  // ATH_MSG_DEBUG("and a delta_y of "<<delta_y);
+  double yflt=-999;
+  yflt=base+(strip*swidth+delta_y)*yup_scale;
+  // ATH_MSG_DEBUG("Naively, y="<<base<<"+"<<strip<<"*"<<swidth<<"="<<base+strip*swidth<<", but dy(mis,corr)="<<delta_y<<", and yup_scale="<<yup_scale<<", so y="<<yflt);
+  //Note that ybin should be calculated on the basis of a misaligned y, not a corrected one (to get the position on the wedge just right),
+  //but the difference for this part of the calculation should be negligible (an effect of <~ misal/(bin length) ~ (5 mm/(3600 mm/15)) ~ %.
+  // double bozoY = sqrt(tru.X()*tru.X() + tru.Y()*tru.Y());
+  int bin=m_par->ybin(yflt,plane);
+  // ATH_MSG_DEBUG("....which leads to finding a bin in y of "<<bin<<"....");
+
+  //We have here both the "perfect" and binned z calculations/lookups; the commented out one is there for reference
+  double zflt=m_par->z_large[bin][plane].getFixed();
+//   if(m_par->correct.type==2&&plane<4&&m_par->correct.rotate.X()!=0){
+//     // double fltyup=(base+(strip*swidth+delta_y)-planebase);
+//     double angle=m_par->correct.rotate.X();
+// //     yflt=planebase+fltyup*cos(angle);
+// //     zflt=zplane+0.5*fltyup*sin(angle)*cos(angle)*(1-tan(angle)*base/zplane)/(1-tan(angle)*1.*yflt/zplane);
+// //   }
+//   y = yflt / MMTStructConst;
+//   z = zflt / MMTStructConst;
+
+  slope =  (zflt!=0.) ? yflt / zflt : 0.;
+  // double oslope=(base+(strip)*swidth)/zplane,mslope=yflt/zplane;
+  // ATH_MSG_DEBUG("....after correction for a y value of "<<yflt<<", with a z of "<<zflt<<" for slopes....");
+  // ATH_MSG_DEBUG("an ORIGINAL slope: "<<oslope );
+  // ATH_MSG_DEBUG(", an ALGORITHM (corr) slope "<<slope.getFixed()<<" (diff_ratio "<<slope.getFixed()/oslope-1.<<")" );
+  // ATH_MSG_DEBUG(", a MISAL slope: "<<mslope<<" (diff_ratio "<<mslope/oslope-1.<<")");
+
+}
+
+double hitData_info::mis_dy(int plane,MMT_Parameters *m_par,double tpos,double ppos)const{
+  // bool quack=false&&debug;
+  if(m_par->misal.type!=1||plane>3)return 0.;
+  // double swidth=m_par->strip_width.getFixed();
+  double zplane=m_par->z_nominal[plane].getFixed();
+  double base=m_par->ybases[plane].front().getFixed();
+
+  // double s_z0=zplane;
+  double s_x0=zplane*tan(tpos)*sin(ppos);
+  double s_y0=zplane*tan(tpos)*cos(ppos);//initial position
+
+  // ATH_MSG_DEBUG("Projected truth position ("<<s_x0<<","<<s_y0<<","<<s_z0<<") or, in local coordinates, ("<<s_x0<<","<<s_y0-base<<","<<s_z0-zplane<<")");
+  double hats_z0=cos(tpos),hats_x0=sin(tpos)*sin(ppos),hats_y0=sin(tpos)*cos(ppos);//muon track unit vector
+  double zeta_y0=s_y0-base;//height in y in the wedge local coordinates--this is what we have to compare in the end
+  double alpha=m_par->misal.rotate.Z(),beta=m_par->misal.rotate.Y(),gamma=m_par->misal.rotate.X();//rotation angles
+  double ds=m_par->misal.translate.X(),dz=m_par->misal.translate.Y(),dt=-1.*m_par->misal.translate.Z();//t comes in -z
+  // ATH_MSG_DEBUG("MISALIGNMENT PARAMETERS: (ds,dz,dt;gamma,beta,alpha)=("<<ds<<","<<dz<<","<<dt<<";"<<gamma<<","<<beta<<","<<alpha<<")");
+  double O_bxf=ds,O_byf=base+dz,O_bzf=zplane+dt;//position of bottom of the wedge in global coordinates; subtract this from the final y position (s_yf) for final zeta (comparison to add to y position)
+  // ATH_MSG_DEBUG("MISALIGNMENT plane base moves from: ("<<0<<","<<base<<","<<zplane<<") to ("<<O_bxf<<","<<O_byf<<","<<O_bzf<<")...");
+  double yhat_x=-1.*sin(alpha)*cos(beta),yhat_y=(cos(alpha)*cos(gamma)-sin(alpha)*sin(beta)*sin(gamma)),yhat_z=(cos(alpha)*sin(gamma)+sin(alpha)*sin(beta)*cos(gamma));//new y direction after rotations; horizontal case
+  char schar=m_par->setup[plane];
+  if(!(schar=='x'||schar=='X')){
+    //if we're in a stereo plane, calculate different coefficients.
+    double omega=TMath::DegToRad()*(m_par->stereo_degree.getFixed());
+    double pm=(schar=='u'||schar=='U'?1.:-1.);
+    yhat_x=pm*cos(alpha)*cos(beta)*sin(omega)-sin(alpha)*cos(beta)*cos(omega);
+    yhat_y=pm*sin(omega)*(sin(alpha)*cos(gamma)+cos(alpha)*sin(beta)*sin(gamma))+cos(omega)*(cos(alpha)*cos(gamma)-sin(alpha)*sin(beta)*sin(gamma));
+    yhat_z=pm*sin(omega)*(sin(alpha)*sin(gamma)-cos(alpha)*sin(beta)*cos(gamma))+cos(omega)*(cos(alpha)*sin(gamma)+sin(alpha)*sin(beta)*cos(gamma));
+    zeta_y0=pm*sin(omega)*s_x0+cos(omega)*(s_y0-base);
+  }
+  double kprime=(sin(beta)*O_bxf-cos(beta)*sin(gamma)*O_byf+cos(beta)*cos(gamma)*O_bzf)/(sin(beta)*hats_x0-cos(beta)*sin(gamma)*hats_y0+cos(beta)*cos(gamma)*hats_z0);
+  // ATH_MSG_DEBUG("MISALIGNMENT for plane "<<
+    // schar<<" makes a kprime/k of "<<
+    // kprime*cos(tpos)/zplane<<
+    // " and a yhat of ("<<yhat_x<<","<<yhat_y<<","<<yhat_z<<")...");
+  double zeta_xf=kprime*hats_x0-O_bxf,zeta_yf=kprime*hats_y0-O_byf,zeta_zf=kprime*hats_z0-O_bzf;
+  // ATH_MSG_DEBUG("which leads to, in the old local coordinates, a new intersection point at ("<<
+  //   zeta_xf<<","<<
+  //   zeta_yf<<","<<
+  //   zeta_zf<<")---and in the new global coordinates at ("<<
+  //   kprime*hats_x0<<","<<
+  //   kprime*hats_y0<<","<<
+  //   kprime*hats_z0<<")!");
+  double zetayf_yhatf=zeta_xf*yhat_x+zeta_yf*yhat_y+zeta_zf*yhat_z;
+  return zetayf_yhatf-zeta_y0;
+}
+
+hitData_info::hitData_info(int pl,double _y,double _z):plane(pl),y(_y),z(_z){
+  if(_z==0||_z==-999)slope=-999;
+  else slope=_y/_z;
+}
+
+string hitData_info::hdr()const{
+  ostringstream out;
+  out<<setw(9)<<"plane"<<setw(9)<<"y"<<setw(9)<<"z"<<setw(9)<<"slope";
+  return out.str();
+}
+string hitData_info::str()const{
+  ostringstream out;
+  out<<setprecision(4)<<setw(9)<<plane<<setw(9)<<y.getFixed()<<setw(9)<<z.getFixed()<<setw(9)<<slope.getFixed();
+  return out.str();
+}
+void hitData_info::print()const{
+  // ATH_MSG_INFO("------- hitData_info: "<<hdr() );
+}
+
+bool hitData_info::operator==(const hitData_info& rhs) const{
+  if(this->plane==rhs.plane&&this->y==rhs.y&&this->z==rhs.z&&this->slope==rhs.slope)return true;
+  return false;
+}
+
+Hit::Hit(const hitData_key& k,const hitData_info&i):key(k),info(i) {}
+
+bool Hit::operator==(const Hit& rhs) const{
+  if(this->key==rhs.key&&this->info==rhs.info)return true;
+  return false;
+}
+
+void Hit::print_track(const vector<Hit>& track) const{
+  (void) track;
+  // ATH_MSG_INFO(track.front().key.hdr()<<track.front().info.hdr());
+  // for(unsigned int i=0; i<track.size(); i++) ATH_MSG_INFO( track[i].key.hdr()<<track[i].info.hdr() ) ;
+}
+
+void Hit::print() const{
+  // ATH_MSG_INFO( "%%%%%%HIT%%%%%%");
+  // ATH_MSG_INFO( key.hdr()<<info.hdr());
+  // ATH_MSG_INFO( key.str()<<info.str());
+}
+
+hitData_entry::hitData_entry(int ev, double gt, double q, int vmm, int pl, int st, int est, double tr_the, double tru_phi,
+		       bool q_tbg, int bct, double t, const TVector3& tru, const TVector3& rec,
+		       double fit_the, double fit_ph, double fit_dth, double tru_dth,// double tru_thl, double tru_thg,
+		       double mxg, double mug, double mvg, double mxl, double _mx, double _my, int _roi):
+  event(ev),gtime(gt),charge(q),VMM_chip(vmm),plane(pl),strip(st),station_eta(est),tru_theta_ip(tr_the),tru_phi_ip(tru_phi),truth_nbg(q_tbg),
+  BC_time(bct),time(t),truth(tru),recon(rec),fit_theta(fit_the),fit_phi(fit_ph),fit_dtheta(fit_dth),tru_dtheta(tru_dth),
+  /*tru_theta_local(tru_thl),tru_theta_global(tru_thg),*/M_x_global(mxg),M_u_global(mug),M_v_global(mvg),M_x_local(mxl),mx(_mx),my(_my),roi(_roi) {}
+
+Hit hitData_entry::entry_hit(MMT_Parameters *m_par)const{
+  return Hit(entry_key(),entry_info(m_par));
+}
+hitData_key hitData_entry::entry_key() const{
+  return hitData_key(BC_time,time,gtime,VMM_chip,event);
+}
+
+hitData_info hitData_entry::entry_info(MMT_Parameters *m_par)const{
+  hitData_info spade(plane,station_eta,strip,m_par,recon,tru_theta_ip,tru_phi_ip);//truth or recon? doesn't matter too much--it's for misalignment
+//   spade.y=recon.Y();
+  return spade;
+}
+void hitData_entry::fit_fill(float32fixed<4> fthe,float32fixed<4> fphi, float32fixed<2> fdth, float32fixed<2> mxg, float32fixed<2> mug, float32fixed<2> mvg, float32fixed<2> mxl, float32fixed<2> m_x, float32fixed<2> m_y, int king){
+  this->fit_theta=fthe; this->fit_phi=fphi; this->fit_dtheta=fdth; this->M_x_global=mxg; this->M_u_global=mug; this->M_v_global=mvg; this->M_x_local=mxl; this->mx=m_x; this->my=m_y; this->roi=king;
+}
+
+void hitData_entry::print() const{
+  // ATH_MSG_INFO( "%%%%%%%%%%%%%%%%HDST_ENTRY%%%%%%%%%%%%%%%%%%"<<endl
+  //     <<"(Event,BC_time,time): ("<<event<<","<<BC_time<<","<<time<<"), "<<(truth_nbg?"truth":"bg")<<", charge: "<<charge<<endl
+  //     <<"Wedge Coord---plane: "<<plane<<", strip: "<<strip<<", est: "<<station_eta<<", vmm: "<<VMM_chip<<", ip theta: "<<tru_theta_ip<<", ip phi: "<<tru_phi_ip<<endl
+  //     <<"truth angles---dtheta: "<<tru_dtheta<<endl//", theta(loc): "<<tru_theta_local<<", theta(glo): "<<tru_theta_global<<endl
+  //     <<"Truth vertex: \n");
+  // truth.Print();
+  // ATH_MSG_INFO( "Recon vertex: \n");
+  // recon.Print();
+  // ATH_MSG_INFO( "FIT---roi: "<<roi<<endl
+  //     <<"        angles---theta: "<<fit_theta.getValue()<<", phi: "<<fit_phi.getValue()<<", dtheta: "<<fit_dtheta.getValue()<<endl
+  //     <<"slopes, global---x: "<<M_x_global.getValue()<<", u: "<<M_u_global.getValue()<<", v: "<<M_v_global.getValue()<<endl
+  //     <<"slopes,  other---x(loc): "<<M_x_local.getValue()<<", x(coord): "<<mx.getValue()<<", y(coord): "<<my.getValue()<<endl
+  //     <<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
+}
+
+finder_entry::finder_entry(bool _is_hit, int _clock,const Hit& k):
+  is_hit(_is_hit), clock(_clock), hit(k) {}
+
+
+bool finder_entry::operator==(const finder_entry& merp) const{
+  if(merp.is_hit==this->is_hit&&merp.clock==this->clock&&this->hit==merp.hit) return true;
+  else return false;
+}
+bool finder_entry::operator!=(const finder_entry& merp) const{
+  return !(*this!=merp);
+}
+
+ROI::ROI(double _theta, double _phi, double _m_x, double _m_y, int _roi):
+  theta(_theta), phi(_phi), m_x(_m_x), m_y(_m_y), roi(_roi) {}
+
+
+athena_header::athena_header(const TLorentzVector& par, int tpn, double etp, double ete, double php, double phe, int mun, const TVector3& ver):
+  the_part(par),trupart_n(tpn),etapos(etp),etaent(ete),phipos(php),phient(phe),muent_n(mun),vertex(ver) {}
+
+// digitWrapper::digitWrapper(int multiplet, 
+//                            int gasGap, 
+//                            double gTime, 
+//                            double time, 
+//                            const TVector3& truthLPos, 
+//                            const TVector3& stripLPos, 
+//                            const TVector3& stripGPos, 
+//                            double charge,
+//                            int stripPos,
+//                            int etaStation,
+//                            int phiStation
+//                            ):
+
+
+digitWrapper::digitWrapper(const MmDigit* digit,
+                           double tmpGTime,
+                           const TVector3& truthLPos,
+                           const TVector3& stripLPos,
+                           const TVector3& stripGPos
+                           ):
+  digit(digit),
+  gTime(tmpGTime),
+  truth_lpos(truthLPos),
+  strip_lpos(stripLPos),
+  strip_gpos(stripGPos){}
+
+track_address::track_address(int bct,bool big,int wed,int pl,int sh,const TVector3& chr):
+  BC(bct),islarge(big),wedge(wed),plane(pl),strip_hit(sh),cart_hit(chr) {}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.h
new file mode 100644
index 00000000000..79f4826ccbb
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.h
@@ -0,0 +1,556 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MM_STRUCT_H
+#define MM_STRUCT_H
+
+#include <fstream>
+// #include "fixed_point.h"
+
+#include "MuonReadoutGeometry/MMReadoutElement.h"
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonDigitContainer/MmDigit.h"
+#include "MuonSimEvent/GenericMuonSimHitCollection.h"
+
+#include "AthenaKernel/MsgStreamMember.h"
+
+
+#include "TTree.h"
+#include "TH1F.h"
+#include "TLorentzVector.h"
+#include "TMath.h"
+
+#include<cmath>
+
+using namespace std;
+// using namespace fpml;
+
+//flags
+const double crep_pt=200.;
+/*
+  Potential indexing problems that might slip through the cracks:
+  --athena_event/event (hitData_entry)
+  --VMM_chip (hitData_entry)
+  --road (Finder in MMT_Finder)
+*/
+
+//constants and convsersions
+const int yzdex=2,bkdex=13,zbardex=2;
+// double store_const;
+
+
+template<unsigned char T> class float32fixed
+{
+
+private:
+  float fixp_content;
+
+public:
+  float32fixed(){ fixp_content=0; }
+  float32fixed(int value){  fixp_content=value; }
+  float32fixed(float value){  fixp_content=value; }
+  float32fixed(double value){  fixp_content=value; }
+  ~float32fixed(){}
+
+
+
+
+  float getFixed(int S=T) const{
+
+    int nBits = S;
+    nBits -= 1;
+    //=== get scale
+    int   scale  = 0;
+    float absVal = std::fabs(fixp_content);
+    if(absVal != 0.){
+      scale = static_cast<int>( ::truncf(std::log((std::pow(2., static_cast<int>(nBits)) - 1.)/absVal)*(1./std::log(2.))) );
+    }
+    //=== return input value with fixed point precision
+    return ::roundf(fixp_content * std::pow(2., scale)) / std::pow(2., scale);
+
+    // return fixedPointPrecision(T, fixp_content);
+  }
+
+
+
+  // assignment
+  float32fixed<T> operator=(float other){ this->fixp_content = other; return *this;  }
+  template<unsigned char S>
+  float32fixed<T> operator=(float32fixed<S> other){ this->fixp_content = other.getFixed(); return *this;  }
+
+  // Float operators
+  float32fixed<T> operator+(float other) const {return float32fixed<T>( this->fixp_content + float32fixed<T>(other).getFixed() );  }
+  float32fixed<T> operator-(float other) const {return float32fixed<T>( this->fixp_content - float32fixed<T>(other).getFixed() );  }
+  float32fixed<T> operator*(float other) const {return float32fixed<T>( this->fixp_content * float32fixed<T>(other).getFixed() );  }
+  float32fixed<T> operator/(float other) const {return float32fixed<T>( this->fixp_content / float32fixed<T>(other).getFixed() );  }
+  float32fixed<T> operator+=(float other) { *this = float32fixed<T>( (*this).fixp_content +  float32fixed<T>(other).getFixed() );   return *this;  }
+  float32fixed<T> operator-=(float other) { *this = float32fixed<T>( (*this).fixp_content -  float32fixed<T>(other).getFixed() );   return *this;  }
+  float32fixed<T> operator*=(float other) { *this = float32fixed<T>( (*this).fixp_content *  float32fixed<T>(other).getFixed() );   return *this;  }
+  float32fixed<T> operator/=(float other) { *this = float32fixed<T>( (*this).fixp_content /  float32fixed<T>(other).getFixed() );   return *this;  }
+  bool operator<(double other) const {return this->fixp_content<   float32fixed<T>(other).getFixed();}
+  bool operator>(double other) const {return this->fixp_content>   float32fixed<T>(other).getFixed();}
+  bool operator<=(double other) const {return this->fixp_content<= float32fixed<T>(other).getFixed();}
+  bool operator>=(double other) const {return this->fixp_content>= float32fixed<T>(other).getFixed();}
+  bool operator==(double other) const {return this->fixp_content== float32fixed<T>(other).getFixed();}
+
+
+  // float32fixed operators
+  float32fixed<T> operator+ (float32fixed<T> other) const {return float32fixed<T>( this->fixp_content + other.getFixed()  );  }
+  float32fixed<T> operator- (float32fixed<T> other) const {return float32fixed<T>( this->fixp_content - other.getFixed()  );  }
+  float32fixed<T> operator* (float32fixed<T> other) const {return float32fixed<T>( this->fixp_content * other.getFixed()  );  }
+  float32fixed<T> operator/ (float32fixed<T> other) const {return float32fixed<T>( this->fixp_content / other.getFixed()  );  }
+  float32fixed<T> operator+=(float32fixed<T> other) { *this = float32fixed<T>( (*this).fixp_content + other.getFixed()  );   return *this;  }
+  float32fixed<T> operator-=(float32fixed<T> other) { *this = float32fixed<T>( (*this).fixp_content - other.getFixed()  );   return *this;  }
+  float32fixed<T> operator*=(float32fixed<T> other) { *this = float32fixed<T>( (*this).fixp_content * other.getFixed()  );   return *this;  }
+  float32fixed<T> operator/=(float32fixed<T> other) { *this = float32fixed<T>( (*this).fixp_content / other.getFixed()  );   return *this;  }
+  bool operator< (float32fixed<T> other) const {return this->fixp_content<other.getFixed() ;}
+  bool operator> (float32fixed<T> other) const {return this->fixp_content>other.getFixed() ;}
+  bool operator<=(float32fixed<T> other) const {return this->fixp_content<=other.getFixed() ;}
+  bool operator>=(float32fixed<T> other) const {return this->fixp_content>=other.getFixed() ;}
+  bool operator==(float32fixed<T> other) const {return this->fixp_content==other.getFixed() ;}
+
+  float32fixed<T> fabs() const{ return ((*this)>0.) ? *this : (*this)*-1.0 ; }
+
+  explicit operator float () {return (double) this->fixp_content; }
+
+
+};
+
+struct std_align{
+  //match alignments in the standard documentation;
+  //note that we're working in a wedge with \phi_0 in the misalignment document of pi/2; hence,
+  //the par_cor_mis (X,Y,Z)-->(T,S,Z)--(end cap side A, (Z>0))-->(s,z,t) rotations (gamma,beta,alpha)
+  //so let's do show the correspondence between par_cor_mis and this new std_align, struct (we only do the back quadruplet)
+  //(--,-dy,dz;dt,--,dp)=(s,z,t;gamma,beta,alpha)
+  //our internal stuff will still match the (x,y,z) coordinate scheme used in the algorithm; we will just translate results into the standard coordinates for plots, etc.
+  std_align(int qcm=0,const TVector3& trans=TVector3(),const TVector3& ang=TVector3());
+  string par_title(int par_num,bool small_unit=false) const;
+  string par_name(int par_num) const;
+  string par_title_val(int par_num)const;
+  string par_name_val(int par_num)const;
+  string print() const;
+  double par_val(int par_num) const;
+  void set_val(int par_num,double par_val);
+  int parmax() const { return 6; }
+  string detail() const;
+  bool is_nominal()const;
+
+  //members
+  int type;//corresponds to qcm; 0 (nominal case: no misal/correction), 1 (misalignment), 2 (correction), 3 (sim_correction; do corrections based on simulation results)
+  TVector3 translate,rotate;
+
+};
+
+struct gcm_key{
+  gcm_key(int _pt=0,int _ct=0,int _mis=0,int corr=0,int _eta=-1,int _qt=0,int _bg=0);
+  bool operator==(const gcm_key& merp) const;
+  bool operator!=(const gcm_key& merp) const;
+  bool operator<(const gcm_key& merp) const;
+  bool operator<=(const gcm_key& merp) const;
+  bool operator>(const gcm_key& merp) const;
+  bool operator>=(const gcm_key& merp) const;
+
+  gcm_key ak()const {return gcm_key(pt,ct,mis,correct,-1,qt,bgcode);}//access key (ak for short; I'm a lazy typist); eta doesn't matter for access so set it to default so we access the map ok
+  int varmax()const{return 7;}
+  string print()const;
+  void set_var(int var,int val);
+  int get_var(int var)const;
+
+  //these are the original variables....
+  int pt,ct,mis;
+  int correct;
+  int eta;
+  //these are the new ones--we will stack
+  //qt is charge threshold 0, 1 (default), or 2
+  //bgcode 0--3: std (y/n), wide (y/n)
+  int qt,bgcode;
+};
+
+struct par_par{
+  par_par(double _h,
+          int xct=0,
+          int uvct=0,
+          double uver=0,
+          const string& setup="",
+          bool ql=true,
+          bool q_dlm=false,
+          bool qbg=0,
+          double _qt=1.,
+          std_align mis=std_align(0),
+          std_align cor=std_align(0),
+          bool fill_tab=true,
+          int cs=0,
+          const string&pd="",
+          const string&tg="");
+
+  string print_pars(const vector<int>&hide=vector<int>()) const;
+  string detail()const;
+
+  //members
+  double h;
+  int ctx,ctuv;
+  double uverr;
+  //fixed_point<int,1> uverr; //need int here
+  string setup;
+  bool islarge,q_dlm,genbg;
+  double qt;
+
+  std_align misal,corr;
+  vector<TString> misal_str;
+  bool fill_val;
+  int colskip;
+  string pcrep_dir,tag;
+
+
+
+};
+
+// const par_par standard=par_par(0.0009,4,4,0.0035,"xxuvxxuv",true);
+// const par_par dlm=par_par(0.0009,4,4,0.007,"xxuvuvxx",true,true); //.0035 for uv_tol before...
+
+class MMT_Parameters{
+ public:
+  MMT_Parameters(par_par inputParams,char wedgeSize, const MuonGM::MuonDetectorManager* m_detManager);
+
+  std::vector<Amg::Vector3D> MM_firststrip_positions(const MuonGM::MuonDetectorManager* m_detManager, const std::string& wedge, int eta);
+  int is_x(int plane);
+  int is_u(int plane);
+  int is_v(int plane);
+
+  unsigned int n_multiplets = 2;
+  unsigned int n_layers     = 4;
+
+  // start counting at 1 to be consistent with mmIdHelper.
+  std::vector<unsigned int> planes_x = {1, 2, 7, 8};
+  std::vector<unsigned int> planes_u = {3, 5};
+  std::vector<unsigned int> planes_v = {4, 6};
+
+  vector<int> q_planes(const string& type) const;
+  par_par param_par() const;
+  double y_from_eta_wedge(double eta,int plane)const;
+  double eta_wedge_from_y(double y,int plane)const;
+  int ybin(float32fixed<18> y,int plane=0)const;
+  int ybin(float32fixed<yzdex> y,int plane=0)const;
+  int ybin(double y,int plane=0)const;
+  // double ymid_eta_bin(int bin,int plane)const;
+
+  //fill the tables
+  void Local_Slope_A_B();
+  void Slope_Components_ROI();
+  void Delta_theta_optimization_LG();
+  void fill_full_Ak_Bk();
+  void fill_slims();
+  void fill_crep_table(const string&dir,const string&tag);
+  void fill_yzmod();
+  void index_key_test();
+
+  //eta-phi stuff
+  int eta_bin(double theta) const;
+  string eta_str(int eta) const;
+  string phi_str(int eta) const;
+  int phi_bin(double theta) const;
+
+  //table calculations
+  pair<double,double> ak_bk_hit_bins(const vector<int>& hits)const;
+
+  vector<bool> lcl_int_to_xhits(int lcl_int)const;
+  int xhits_to_lcl_int(const vector<bool>& xhits) const;
+  string lcl_int_to_xhit_str(int lcl_int)const;
+  bool toggle_key(vector<int>& key,int lo_value,int hi_value)const;
+  void key_to_indices(const vector<int>& key,int& xdex,int& ybin,int& which)const;
+  vector<int> indices_to_key(int xdex,int ybin,int which)const;
+
+  //sim corr indexing stuff
+  int nsimmax_1d()const;//number of sim cases
+  int bool_to_index(const vector<bool>&track)const;
+  vector<bool> index_to_bool(int index)const;
+  string index_to_hit_str(int index)const;
+  string bool_to_hit_str(const vector<bool>&track)const;
+
+  //table
+  map<vector<int>,pair<float32fixed<2>,float32fixed<2> > > AB_k_local;
+  vector<vector<vector<float32fixed<zbardex> > > > Ak_local_slim;//[x_hit combo][ybin][case #]
+  vector<vector<vector<float32fixed<bkdex> > > > Bk_local_slim;//[x_hit combo][ybin][case #]
+  vector<vector<vector<float32fixed<4> > > > Slope_to_ROI;
+  vector<vector<float32fixed<2> > > DT_Factors;
+  //theta, phi, hit code, theta/phi/dtheta
+  //hit code: binary stuff....
+  //old hit code...%mis X, %mis UV: 2-4 X, 1-4 UV possible fractions: 0,1/2,1/3,2/3,1/4,(3/4,not possible with only one misaligned multiplet), 1: 0,3,4,6,8,12
+  vector<vector<vector<vector<float> > > >crep_table;
+  vector<vector<vector<float32fixed<yzdex> > > >ymod,zmod;
+
+  //a toggle
+  bool fill0;
+
+  //how many etabins (of equal size) for algorithm results
+  int n_etabins,n_phibins;
+  vector<double>m_etabins,m_phibins;
+  //currently configurable parameters
+  bool diag,dlm_new;
+  float32fixed<2> h;
+  int CT_x,CT_uv;
+  float32fixed<2> uv_error;
+  double dtheta_cut;
+  string setup;
+  bool islarge,genbg;
+  double chargeThreshold;
+  //new, standardized, misalignment and correction information
+  std_align misal,correct;
+
+  //misalignment parameters
+  int ybins,n_stations_eta;
+  bool misalign,val_tbl;
+
+  //dimensions
+  float32fixed<18> w1, w2, w3, h1, h2, h3, H, Hnom, L, wedge_opening_angle;
+  float32fixed<4> strip_width;
+  float32fixed<4> stereo_degree;
+  double stereo_strip_separation_top;
+  double stereo_strip_separation_bottom;
+
+  vector<float32fixed<18> > z_nominal;
+  vector<vector<float32fixed<18> > > z_large;//[y bin][plane]
+  vector<vector<float32fixed<18> > > ybases;//by stationEta--saved from file, hardcoded, alternative is equally spaced, in MMT_Loader::Get_Strip_Id
+  float32fixed<2> m_x_min,m_x_max,m_y_min,m_y_max,h_mx, h_my;
+  int n_x,n_y;
+
+  float32fixed<3> slope_min, slope_max;
+  float32fixed<2> x_error;
+  int CT, CT_u, CT_v;
+
+  float32fixed<4> minimum_large_theta, maximum_large_theta;
+  float32fixed<4> minimum_large_phi, maximum_large_phi;
+
+  int n_theta_rois, n_phi_rois, BC_window;
+
+  float32fixed<18> mid_plane_large_X, mid_plane_large, mid_plane_large_UV;
+  float32fixed<4> vertical_strip_width_UV;
+
+  /// Log a message using the Athena controlled logging system
+  MsgStream& msg( MSG::Level lvl ) const { return m_msg << lvl; }
+  /// Check whether the logging system is active at the provided verbosity level
+  bool msgLvl( MSG::Level lvl ) const { return m_msg.get().level() <= lvl; }
+
+  /// Private message stream member
+  mutable Athena::MsgStreamMember m_msg;
+
+
+};
+
+struct mm_digit_entry{
+  int multiplet,gas_gap;
+  double global_time,time;
+  TVector2 local_pos, stripl_pos;
+  TVector3 stripg_pos;
+  double charge;
+};
+
+struct evInf_entry{
+  evInf_entry(int event=0,int pdg=0,double e=0,double p=0,double ieta=0,double peta=0,double eeta=0,double iphi=0,double pphi=0,double ephi=0,
+	      double ithe=0,double pthe=0,double ethe=0,double dth=0,int trn=0,int mun=0,const TVector3& tex=TVector3(),
+	      int troi=0,int antev=0,int postv=0,int nxh=0,int nuvh=0,int nxbg=0,int nuvbg=0,double adt=0,int difx=0,
+	      int difuv=0,bool cut=false,bool bad=false);
+  void print() const;
+
+  int athena_event,pdg_id;
+  double E,pt,eta_ip,eta_pos,eta_ent,phi_ip,phi_pos,phi_ent,theta_ip,theta_pos,theta_ent,dtheta;
+  int truth_n,mu_n;
+  TVector3 vertex;
+  int truth_roi;
+  int N_hits_preVMM,N_hits_postVMM/*<--true*/;
+  int N_X_hits,N_UV_hits;//signal pre vmm; the X and UV hits that count in efficiency denominator
+  int NX_bg_preVMM,NUV_bg_preVMM;
+  double avg_drift_time;
+  int max_less_min_hitsteps_X,max_less_min_hitsteps_UV;
+  bool pass_cut,bad_wedge;
+
+
+};
+
+struct hitData_key{
+  hitData_key(int bct=0, double t=0, double gt=0, int vmm=-1,int ev=-1);
+  hitData_key(const hitData_key& key){BC_time=key.BC_time;time=key.time;gtime=key.gtime;VMM_chip=key.VMM_chip;event=key.event;}
+  //for these operators, "less" means what you think it means
+  //with precedence of quantities the same as order in the constructor
+  //in the context of "earlier," it might make sense to say that a hit is earlier if,
+  //when all times tied, the larger plane is earlier, but this assumes a everything is signal like
+  bool operator==(const hitData_key& merp) const;
+  bool operator!=(const hitData_key& merp) const;
+  bool operator<(const hitData_key& merp) const;
+  bool operator>(const hitData_key& merp) const;
+  bool operator<=(const hitData_key& merp) const;
+  bool operator>=(const hitData_key& merp) const;
+  string hdr()const;
+  string str()const;
+  void print() const;
+
+  int BC_time;
+  double time,gtime;
+  int VMM_chip,event;
+
+
+};
+
+struct evFit_entry{
+  evFit_entry(int event=0,float32fixed<4> fthe=0.,float32fixed<4> fphi=0.,
+	      float32fixed<2> fdth=0.,int roi=-1,int xhit=false,int uvhit=false,
+	      int bgx=false,int bguv=false,float32fixed<2> dth_nd=0.,int hc=0,int tph=0,
+	      int bgph=0);
+
+  void print() const;
+
+  int athena_event;
+  float32fixed<4> fit_theta,fit_phi;
+  float32fixed<2> fit_dtheta;
+  int fit_roi,X_hits_in_fit,UV_hits_in_fit,bg_X_fit,bg_UV_fit;
+  float32fixed<2> dtheta_nodiv;
+  int hcode,truth_planes_hit,bg_planes_hit;
+  vector<hitData_key> fit_hit_keys;
+
+
+};
+
+struct evAna_entry{
+  int athena_event;
+  double theta_err,phi_err,dtheta_err;
+  bool qualified_event, fit, good_fit;
+  int X_hits_in_fit,UV_hits_in_fit;
+  int bg_X_fit,bg_UV_fit;
+};
+
+struct hitData_info{
+  hitData_info(int plane,int station_eta,int strip,MMT_Parameters *m_par,const TVector3& tru,double tpos,double ppos);
+  hitData_info(int pl=0,double _y=0,double _z=-999);
+  hitData_info(const hitData_info& info){plane=info.plane;y=info.y;z=info.z;slope=info.slope;}
+  double mis_dy(int pl,MMT_Parameters *m_par,double tpos,double ppos)const;
+  string hdr()const;
+  string str()const;
+  void print()const;
+  bool operator==(const hitData_info& rhs) const;
+
+  //members
+  int plane;
+  //char addc,vmm,strip;//strip is in a vmm (0-63); char for storage as a byte
+  float32fixed<yzdex> y,z;//actual values divided by store_const() to make fixed point calculations doable--all this stuff is dimensionless in the end, so it's okay.
+  float32fixed<2> slope;
+
+
+  // /// Log a message using the Athena controlled logging system
+  // MsgStream& msg( MSG::Level lvl ) const { return m_msg << lvl; }
+  // /// Check whether the logging system is active at the provided verbosity level
+  // bool msgLvl( MSG::Level lvl ) const { return m_msg.get().level() <= lvl; }
+
+  // private:
+  //   /// Private message stream member
+  //   mutable Athena::MsgStreamMember m_msg;
+};
+
+struct Hit{
+  //make a well-behaved constructor
+/*   Hit(int _plane=-1, int _strip=0, int _station_eta=0, double _slope=0, int bct=0, double t=0, double gt=0, int vmm=0); */
+  Hit(const hitData_key&k=hitData_key(),const hitData_info&i=hitData_info());
+/*   double slope()const {return info.slope();} */
+  bool operator==(const Hit& rhs) const;
+  void print_track(const vector<Hit>& track) const;
+  void print() const;
+
+  //the members:
+  hitData_key key;
+  hitData_info info;
+};
+
+struct hitData_entry{
+  hitData_entry(int ev=0, double gt=0, double q=0, int vmm=0, int pl=0, int st=0, int est=0, double tr_the=0, double tru_phi=0,
+	     bool q_tbg=0, int bct=0, double time=0,const TVector3& tru=TVector3(), const TVector3& rec=TVector3(),
+	     double fit_the=0, double fit_phi=0, double fit_dth=0, double tru_dth=0,// double tru_thl=0, double tru_thg=0,
+	     double mxg=0, double mug=0, double mvg=0, double mxl=0, double _mx=0, double _my=0, int _roi=0);
+
+  Hit entry_hit(MMT_Parameters *m_par)const;
+  hitData_key entry_key() const;
+  hitData_info entry_info(MMT_Parameters *m_par)const;
+  void fit_fill(float32fixed<4> fthe,float32fixed<4> fphi, float32fixed<2> fdth, float32fixed<2> mxg=0., float32fixed<2> mug=0., float32fixed<2> mvg=0., float32fixed<2> mxl=0., float32fixed<2> m_x=0., float32fixed<2> m_y=0., int king=0);
+  void print() const;
+
+  int event;
+  double gtime,charge;
+  int VMM_chip,plane,strip,station_eta;
+  double tru_theta_ip,tru_phi_ip;
+  bool truth_nbg;//truth (i.e. not bg) if true,
+  int BC_time;/*fit theta, phi, dtheta originally here*/
+  double time;
+  TVector3 truth,recon;
+  float32fixed<4> fit_theta,fit_phi;
+  float32fixed<2> fit_dtheta;
+  double tru_dtheta;//,tru_theta_local,tru_theta_global;
+  float32fixed<2> M_x_global,M_u_global,M_v_global,M_x_local,mx,my;
+  int roi;
+
+
+};
+
+struct finder_entry{
+  //make a well-behaved constructor
+  finder_entry(bool _is_hit=0, int _clock=-1,const Hit& k=Hit());
+  bool operator==(const finder_entry& merp) const;
+  bool operator!=(const finder_entry& merp) const;
+
+  //Finder stuff:
+  bool is_hit,is_ct;
+  int clock;
+  //Finder_Detail stuff:
+  Hit hit;
+};
+
+struct ROI{
+  //make a well-behaved constructor
+  ROI(double _theta, double _phi, double _m_x, double _m_y, int _roi);
+
+  //the members:
+  float32fixed<4> theta,phi;
+  float32fixed<2> m_x,m_y;
+  int roi;
+};
+
+struct athena_header{
+  //make a well-behaved constructor
+  athena_header(const TLorentzVector& par=TLorentzVector(), int tpn=0, double etp=0, double ete=0, double php=0, double phe=0, int mun=0, const TVector3& ver=TVector3());
+
+  //the members:
+  TLorentzVector the_part;
+  int trupart_n;
+  double etapos,etaent,phipos,phient;
+  int muent_n;
+  TVector3 vertex;
+};
+
+struct digitWrapper{
+  digitWrapper(const MmDigit* digit=0,
+               double tmpGTime=0,
+               const TVector3& truthLPos=TVector3(),
+               const TVector3& stripLPos=TVector3(),
+               const TVector3& stripGPos=TVector3()
+               );
+
+
+  const MmDigit* digit;
+  double gTime;
+
+  TVector3 truth_lpos;//4,5
+  TVector3 strip_lpos;
+  TVector3 strip_gpos;//6-11
+
+  inline Identifier id(){ return digit->identify(); };
+
+};
+
+struct track_address{//cartesian_hit_rot entry
+  track_address(int bct=0,bool big=false,int wed=0,int pl=-1,int sh=0,const TVector3& chr=TVector3());
+
+  int BC;
+  bool islarge;
+  int wedge,plane,strip_hit;
+  TVector3 cart_hit;
+};
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
new file mode 100644
index 00000000000..7908aedc44b
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
@@ -0,0 +1,403 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+
+
+// local includes
+#include "MMTriggerTool.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// Muon software includes
+
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+
+
+namespace NSWL1 {
+
+  MMTriggerTool::MMTriggerTool( const std::string& type, const std::string& name, const IInterface* parent) :
+    AthAlgTool(type,name,parent),
+    m_incidentSvc("IncidentSvc",name),
+    m_detManager(0),
+    m_MmIdHelper(0),
+    m_MmDigitContainer(""),
+    m_MmSdoContainer(""),
+    m_doNtuple(false),
+    m_tree(0)
+  {
+    declareInterface<NSWL1::IMMTriggerTool>(this);
+    declareProperty("MM_DigitContainerName", m_MmDigitContainer = "MM_DIGITS", "the name of the MM digit container");
+    declareProperty("MM_SdoContainerName"  , m_MmSdoContainer = "MM_SDO", "the name of the MM SDO container");
+    declareProperty("MM_HitContainerName"  , m_MmHitContainer = "MicromegasSensitiveDetector", "the name of the MM hits container");
+    declareProperty("DoNtuple", m_doNtuple = true, "input the MMStripTds branches into the analysis ntuple");
+    declareProperty("Truth_ContainerName", m_Truth_ContainerName="TruthEvent","name of truth container");
+    declareProperty("MuonEntryLayer_ContainerName", m_MuEntry_ContainerName="MuonEntryLayer", "name of muon entry container");
+
+  }
+
+  MMTriggerTool::~MMTriggerTool() {
+
+  }
+
+  StatusCode MMTriggerTool::initialize() {
+
+    ATH_MSG_INFO( "initializing -- " << name() );
+
+    ATH_MSG_INFO( name() << " configuration:");
+    //ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_rndmEngineName.name() << m_rndmEngineName.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_MmDigitContainer.name() << m_MmDigitContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_MmSdoContainer.name() << m_MmSdoContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
+                     << setfill(' ') << setiosflags(ios::right) );
+
+
+    const IInterface* parent = this->parent();
+    const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+    std::string algo_name = pnamed->name();
+    if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+      ITHistSvc* tHistSvc;
+      ATH_CHECK( service("THistSvc", tHistSvc) );
+
+      char ntuple_name[40];
+      memset(ntuple_name,'\0',40*sizeof(char));
+      sprintf(ntuple_name,"%sTree",algo_name.c_str());
+
+      m_tree = 0;
+      ATH_CHECK( tHistSvc->getTree(ntuple_name,m_tree) );
+      ATH_MSG_INFO("Analysis ntuple succesfully retrieved");
+      ATH_CHECK( this->book_branches() );
+
+    } else this->clear_ntuple_variables();
+
+    // retrieve the Incident Service
+    if( m_incidentSvc.retrieve().isFailure() ) {
+      ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO("Incident Service successfully rertieved");
+    }
+    m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+    //  retrieve the MuonDetectormanager
+    if( detStore()->retrieve( m_detManager ).isFailure() ) {
+      ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+    }
+
+    //  retrieve the Mm offline Id helper
+    if( detStore()->retrieve( m_MmIdHelper ).isFailure() ){
+      ATH_MSG_FATAL("Failed to retrieve MmIdHelper");
+      return StatusCode::FAILURE;
+    } else {
+      ATH_MSG_INFO("MmIdHelper successfully retrieved");
+    }
+
+    //Calculate and retrieve wedge geometry, defined in MMT_struct
+
+    const par_par standard=par_par(0.0009,4,4,0.0035,"xxuvxxuv",true);
+    const par_par xxuvuvxx=par_par(0.0009,4,4,0.007,"xxuvuvxx",true,true); //.0035 for uv_tol before...
+    const par_par xxuvuvxx_uvroads=par_par(0.0009,4,4,0.0035,"xxuvuvxx",true,true); //.0035 for uv_tol before...
+
+    // par_par pars=dlm;
+    m_par_large = new MMT_Parameters(xxuvuvxx,'L', m_detManager); // Need to figure out where to delete this!! It's needed once per run
+    m_par_small = new MMT_Parameters(xxuvuvxx,'S', m_detManager); // Need to figure out where to delete this!! It's needed once per run
+
+    return StatusCode::SUCCESS;
+  }
+
+
+  StatusCode MMTriggerTool::runTrigger() {
+
+      //Retrieve the current run number and event number
+      const EventInfo* pevt = 0;
+      ATH_CHECK( evtStore()->retrieve(pevt) );
+      int event = pevt->event_ID()->event_number();
+
+      //////////////////////////////////////////////////////////////
+      //                                                          //
+      // Load Variables From Containers into our Data Structures  //
+      //                                                          //
+      //////////////////////////////////////////////////////////////
+
+      map<hitData_key,hitData_entry> Hits_Data_Set_Time;
+      map<int,evInf_entry> Event_Info;
+
+      const MmDigitContainer *nsw_MmDigitContainer = nullptr;
+      ATH_CHECK( evtStore()->retrieve(nsw_MmDigitContainer,"MM_DIGITS") );
+
+      std::string wedgeType = getWedgeType(nsw_MmDigitContainer);
+      if(wedgeType=="Large") m_par = m_par_large;
+      if(wedgeType=="Small") m_par = m_par_small;
+      if(wedgeType=="Neither") {
+        ATH_MSG_INFO( "SMALL AND LARGE!! Event did (NOT) pass " );
+        return StatusCode::SUCCESS;
+      }
+
+      MMLoadVariables m_load = MMLoadVariables(&(*(evtStore())), m_detManager, m_MmIdHelper, m_par);
+
+      std::vector<digitWrapper> entries;
+
+      m_load.getMMDigitsInfo(entries, Hits_Data_Set_Time, Event_Info);
+      this->fillNtuple(m_load);
+
+      //Originally boom, this is the saved "particle_info" (originally primer)
+      evInf_entry truth_info(Event_Info.find(pevt->event_ID()->event_number())->second);
+
+      bool pass_cuts = truth_info.pass_cut;
+      double trueta = truth_info.eta_ip;
+      double trupt = truth_info.pt;
+
+      // evInf_entry truth_info(Event_Info.find(pevt->event_ID()->event_number())->second);
+
+      double tent=truth_info.theta_ent;
+      double tpos=truth_info.theta_pos;
+      double ppos=truth_info.phi_pos;
+      // double pent=truth_info.phi_ent;
+      double dt=truth_info.dtheta;
+      m_trigger_trueThe->push_back(tent);
+      m_trigger_truePhi->push_back(ppos);
+      m_trigger_trueDth->push_back(dt);
+
+      //from MMT_Loader >>>> If entry matches find(event) adds element to vector
+      std::vector<hitData_entry> hitDatas(event_hitDatas(event,Hits_Data_Set_Time));
+      //Only consider fits if they satisfy CT and fall in wedge
+      if(pass_cuts){
+      //Make sure hit info is not empy
+      if(!hitDatas.empty()){
+
+        //////////////////////////////////////////////////////////////
+        //                                                          //
+        //                Finder Applied Here                       //
+        //                                                          //
+        //////////////////////////////////////////////////////////////
+
+        //Initialization of the finder: defines all the roads
+        MMT_Finder m_find = MMT_Finder(m_par, 1);
+
+        ATH_MSG_DEBUG(  "Number of Roads Configured " <<  m_find.get_roads()  );
+
+        //Convert hits to slopes and fill the buffer
+        map<pair<int,int>,finder_entry> hitBuffer;
+        for(int ihds=0; ihds<(int)hitDatas.size(); ihds++){
+          m_find.fillHitBuffer( hitBuffer,                       // Map (road,plane) -> Finder entry
+                                hitDatas[ihds].entry_hit(m_par) );  // Hit object
+
+          hitData_info hitInfo = hitDatas[ihds].entry_hit(m_par).info;
+
+          m_trigger_VMM->push_back(hitDatas[ihds].VMM_chip);
+          m_trigger_plane->push_back(hitDatas[ihds].plane);
+          m_trigger_station->push_back(hitDatas[ihds].station_eta);
+          m_trigger_strip->push_back(hitDatas[ihds].strip);
+          m_trigger_slope->push_back(hitInfo.slope.getFixed());
+
+        }
+        if(hitDatas.size()==8){
+          m_trigger_trueEtaRange->push_back(trueta);
+          m_trigger_truePtRange->push_back(trupt);
+          if(wedgeType=="Large") {
+            m_trigger_large_trueEtaRange->push_back(trueta);
+            m_trigger_large_truePtRange->push_back(trupt);
+          }
+          if(wedgeType=="Small") {
+            m_trigger_small_trueEtaRange->push_back(trueta);
+            m_trigger_small_truePtRange->push_back(trupt);
+          }
+
+        }
+
+        //////////////////////////////////////////////////////////////
+        //                                                          //
+        //                 Fitter Applied Here                      //
+        //                                                          //
+        //////////////////////////////////////////////////////////////
+
+        MMT_Fitter m_fit = MMT_Fitter(m_par);
+
+        //First loop over the roads and planes and apply the fitter
+        int fits_occupied=0;
+        const int nfit_max=1;  //MOVE THIS EVENTUALLY
+        // int correct_bcid=2;    //THIS TOO
+        int nRoads = m_find.get_roads();
+
+        vector<evFit_entry> road_fits = vector<evFit_entry>(nRoads,evFit_entry());
+
+        //Variables saved for Alex T. for hardware validation
+        double mxl;
+        double fillmxl=-999;
+        double muGlobal;
+        double mvGlobal;
+        vector<pair<double,double> > mxmy;
+
+        for(int iRoad=0; iRoad<nRoads; iRoad++){
+
+          vector<bool> plane_is_hit;
+          vector<Hit> track;
+
+          //Check if there are hits in the buffer
+          m_find.checkBufferForHits(  plane_is_hit, // Empty, To be filled by function.
+                                      track, // Empty, To be filled by function.
+                                      iRoad, // roadID
+                                      hitBuffer // All hits. Map ( (road,plane) -> finder_entry  )
+                                    );
+
+          //Look for coincidences
+          int road_num=m_find.Coincidence_Gate(plane_is_hit);
+
+          if(road_num>0){
+
+            if(fits_occupied>=nfit_max) break;
+
+            //Perform the fit -> calculate local, global X, UV slopes -> calculate ROI and TriggerTool signal (theta, phi, deltaTheta)
+            evFit_entry candidate=m_fit.fit_event(event,track,hitDatas,fits_occupied,mxmy,mxl,mvGlobal,muGlobal);
+
+            ATH_MSG_DEBUG( "THETA " << candidate.fit_theta.getFixed() << " PHI " << candidate.fit_phi.getFixed() << " DTH " << candidate.fit_dtheta.getFixed() );
+            road_fits[iRoad]=candidate;
+            fillmxl = mxl;
+            fits_occupied++;
+
+          }
+
+          road_fits[iRoad].hcode=road_num;
+
+        } //end roads
+
+        //////////////////////////////////////////////////////////////
+        //                                                          //
+        //              Pass the ROI as Signal                      //
+        //                                                          //
+        //////////////////////////////////////////////////////////////
+
+
+        // bool did_clean_fit=false,did_bg_fit=false,has_6hits=false;
+        if(road_fits.size()==0 and hitDatas.size()==8 ) {
+          ATH_MSG_DEBUG( "TruthRF0 " << tpos     << " " << ppos   << " " << dt << " " << trueta );
+        }
+        for(unsigned int i=0; i<road_fits.size(); i++){
+          if(road_fits[i].fit_roi==0 and hitDatas.size()==8) {
+            ATH_MSG_DEBUG( "TruthROI0 " << tpos     << " " << ppos   << " " << dt << " " << trueta );
+          }
+          if(road_fits[i].fit_roi>0){
+            //For the future: how do we want these to pass on as the signal?  Some new data structure?
+            double fitTheta      = road_fits[i].fit_theta.getFixed();
+            double fitPhi        = road_fits[i].fit_phi.getFixed();
+            double fitDeltaTheta = road_fits[i].fit_dtheta.getFixed();
+
+
+            ATH_MSG_DEBUG( "Truth " << tpos     << " " << ppos   << " " << dt );
+            ATH_MSG_DEBUG( "FIT!! " << fitTheta << " " << fitPhi << " " << fitDeltaTheta );
+            m_trigger_fitThe->push_back(fitTheta);
+            m_trigger_fitPhi->push_back(fitPhi);
+            m_trigger_fitDth->push_back(fitDeltaTheta);
+
+            m_trigger_resThe->push_back(fitTheta-tpos);
+            m_trigger_resPhi->push_back(fitPhi-ppos);
+            m_trigger_resDth->push_back(fitDeltaTheta-dt);
+
+            m_trigger_mx->push_back(mxmy.front().first);
+            m_trigger_my->push_back(mxmy.front().second);
+            m_trigger_mxl->push_back(fillmxl);
+
+            m_trigger_mu->push_back(muGlobal);
+            m_trigger_mv->push_back(mvGlobal);
+
+            m_trigger_fitEtaRange->push_back(trueta);
+            m_trigger_fitPtRange->push_back(trupt);
+          if(wedgeType=="Large") {
+            m_trigger_large_fitEtaRange->push_back(trueta);
+            m_trigger_large_fitPtRange->push_back(trupt);
+          }
+          if(wedgeType=="Small") {
+            m_trigger_small_fitEtaRange->push_back(trueta);
+            m_trigger_small_fitPtRange->push_back(trupt);
+          }
+
+          }//fit roi > 0
+        } // end road_fits
+      }//end if hitDataS EMPTY
+    }//end if PASS_CUTS
+
+    //clear pointers, filled hit info
+
+    Event_Info.erase(Event_Info.find(event));
+    vector<hitData_key> kill_keys(event_hitData_keys(event,Hits_Data_Set_Time));
+    return StatusCode::SUCCESS;
+  }
+
+  //Function that find the hits information and hits keys that get stored throughout the run.
+  //The data structures are defined in MMT_struct
+
+  vector<hitData_key> MMTriggerTool::event_hitData_keys(int find_event, map<hitData_key,hitData_entry>& Hits_Data_Set_Time) const{
+    vector<hitData_key> ravel;
+    int fnd_entries=0;
+    for(map<hitData_key,hitData_entry>::const_iterator entry=Hits_Data_Set_Time.begin(); entry!=Hits_Data_Set_Time.end(); ++entry){
+      if(entry->second.event==find_event){
+        ravel.push_back(entry->first);
+        fnd_entries++;
+      }
+      else if(fnd_entries>0) break;//we use the fact that maps store things according to the strict weak ordering of the key's comparison operator
+    }
+    return ravel;
+  }
+
+  vector<hitData_entry> MMTriggerTool::event_hitDatas(int find_event, map<hitData_key,hitData_entry>& Hits_Data_Set_Time) const{
+    vector<hitData_entry> bolero;
+    int fnd_entries=0;
+    for(map<hitData_key,hitData_entry>::const_iterator entry=Hits_Data_Set_Time.begin(); entry!=Hits_Data_Set_Time.end(); ++entry){
+      if(entry->second.event==find_event){
+        bolero.push_back(entry->second);
+        fnd_entries++;
+      }
+      else if(fnd_entries>0) break;//we use the fact that maps store things according to the strict weak ordering of the key's comparison operator
+    }
+    return bolero;
+  }
+
+  std::string MMTriggerTool::getWedgeType(const MmDigitContainer *nsw_MmDigitContainer){
+
+    std::vector<bool> isLargeWedge;
+    //Digit loop to match to truth
+    for(auto dit : *nsw_MmDigitContainer) {
+
+      const MmDigitCollection* coll = dit;
+      for (unsigned int item=0; item<coll->size(); item++) {
+
+        const MmDigit* digit = coll->at(item);
+        Identifier Id = digit->identify();
+
+          std::string stName   = m_MmIdHelper->stationNameString(m_MmIdHelper->stationName(Id));
+          string sname(stName);
+          if (sname.compare("MML")==0)isLargeWedge.push_back(true);
+          else isLargeWedge.push_back(false);
+      }
+    }
+
+    bool allLarge = true;
+    bool allSmall = true;
+    for(unsigned int i=0; i<isLargeWedge.size(); i++){
+      if (isLargeWedge.at(i)) allSmall = false;
+      else allLarge = false;
+    }
+    std::string wedgeType = "Neither";
+    if (allLarge) wedgeType = "Large";
+    if (allSmall) wedgeType = "Small";
+    return wedgeType;
+  }
+}//end namespace
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.h
new file mode 100644
index 00000000000..6e88bc51bd5
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.h
@@ -0,0 +1,223 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef MMTRIGGERTOOL_H
+#define MMTRIGGERTOOL_H
+
+//basic includes
+
+//local includes
+#include "TrigT1NSWSimTools/IMMTriggerTool.h"
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class MmIdHelper;
+class MmDigit;
+class TTree;
+
+#include "MMLoadVariables.h"
+#include "MuonDigitContainer/MmDigitContainer.h"
+#include "MuonDigitContainer/MmDigit.h"
+
+
+namespace MuonGM {
+  class MuonDetectorManager;
+}
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  class MMTriggerTool: virtual public IMMTriggerTool,
+    public AthAlgTool,
+    public IIncidentListener {
+
+  public:
+
+    //load event stuff
+    vector<hitData_entry> event_hitDatas(int find_event, map<hitData_key,hitData_entry>& Hits_Data_Set_Time) const;
+    vector<hitData_key> event_hitData_keys(int find_event, map<hitData_key,hitData_entry>& Hits_Data_Set_Time) const;
+    MMT_Parameters *m_par;
+    MMT_Parameters *m_par_large;
+    MMT_Parameters *m_par_small;
+
+    //MMT_Loader stuff end
+
+    MMTriggerTool(const std::string& type,
+			  const std::string& name,
+			  const IInterface* parent);
+
+    virtual ~MMTriggerTool();
+
+    virtual StatusCode initialize();
+
+    virtual void handle (const Incident& inc);
+
+    StatusCode runTrigger();
+
+  private:
+
+    std::string getWedgeType(const MmDigitContainer *nsw_MmDigitContainer);
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const MmIdHelper*                  m_MmIdHelper;        //!< MM offline Id helper
+
+    //Histogram
+    StatusCode book_branches();                             //!< book the branches
+    void clear_ntuple_variables();                          //!< clear the variables used in the analysis ntuple
+    void fillNtuple(MMLoadVariables loadedVariables);
+
+
+    // properties: container and service names
+    StringProperty   m_rndmEngineName;                      //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    StringProperty   m_MmDigitContainer;                    //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    StringProperty   m_MmSdoContainer;                      //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+    StringProperty   m_MmHitContainer;
+    StringProperty   m_Truth_ContainerName;
+    StringProperty   m_MuEntry_ContainerName;
+
+    BooleanProperty  m_doNtuple;                            //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
+
+    TTree* m_tree;                                          //!< ntuple for analysis
+    std::vector<double>* m_trigger_fitThe;
+    std::vector<double>* m_trigger_fitPhi;
+    std::vector<double>* m_trigger_fitDth;
+    std::vector<double>* m_trigger_trueEtaRange;
+    std::vector<double>* m_trigger_truePtRange;
+    std::vector<double>* m_trigger_fitEtaRange;
+    std::vector<double>* m_trigger_fitPtRange;
+    std::vector<double>* m_trigger_resThe;
+    std::vector<double>* m_trigger_resPhi;
+    std::vector<double>* m_trigger_resDth;
+
+    std::vector<double>* m_trigger_large_fitThe;
+    std::vector<double>* m_trigger_large_fitPhi;
+    std::vector<double>* m_trigger_large_fitDth;
+    std::vector<double>* m_trigger_large_trueEtaRange;
+    std::vector<double>* m_trigger_large_truePtRange;
+    std::vector<double>* m_trigger_large_fitEtaRange;
+    std::vector<double>* m_trigger_large_fitPtRange;
+    std::vector<double>* m_trigger_large_resThe;
+    std::vector<double>* m_trigger_large_resPhi;
+    std::vector<double>* m_trigger_large_resDth;
+
+    std::vector<double>* m_trigger_small_fitThe;
+    std::vector<double>* m_trigger_small_fitPhi;
+    std::vector<double>* m_trigger_small_fitDth;
+    std::vector<double>* m_trigger_small_trueEtaRange;
+    std::vector<double>* m_trigger_small_truePtRange;
+    std::vector<double>* m_trigger_small_fitEtaRange;
+    std::vector<double>* m_trigger_small_fitPtRange;
+    std::vector<double>* m_trigger_small_resThe;
+    std::vector<double>* m_trigger_small_resPhi;
+    std::vector<double>* m_trigger_small_resDth;
+
+    std::vector<int>* m_trigger_VMM;
+    std::vector<int>* m_trigger_plane;
+    std::vector<int>* m_trigger_station;
+    std::vector<int>* m_trigger_strip;
+    std::vector<double>* m_trigger_slope;
+    std::vector<double>* m_trigger_trueThe;
+    std::vector<double>* m_trigger_truePhi;
+    std::vector<double>* m_trigger_trueDth;
+    std::vector<double>* m_trigger_mxl;
+    std::vector<double>* m_trigger_mx;
+    std::vector<double>* m_trigger_my;
+    std::vector<double>* m_trigger_mu;
+    std::vector<double>* m_trigger_mv;
+
+    std::vector<std::string> *m_NSWMM_dig_stationName;
+    std::vector<int> *m_NSWMM_dig_stationEta;
+    std::vector<int> *m_NSWMM_dig_stationPhi;
+    std::vector<int> *m_NSWMM_dig_multiplet;
+    std::vector<int> *m_NSWMM_dig_gas_gap;
+    std::vector<int> *m_NSWMM_dig_channel;
+
+    std::vector< std::vector<float> >  *m_NSWMM_dig_time;
+    std::vector< std::vector<float> >  *m_NSWMM_dig_charge;
+    std::vector< std::vector<int> >    *m_NSWMM_dig_stripPosition;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripLposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripLposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripGposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripGposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_stripGposZ;
+    std::vector< std::vector<float> >  *m_NSWMM_dig_sr_time;
+    std::vector< std::vector<float> >  *m_NSWMM_dig_sr_charge;
+    std::vector< std::vector<int> >    *m_NSWMM_dig_sr_stripPosition;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripLposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripLposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposX;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposY;
+    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposZ;
+
+    std::vector< int    > *m_NSWMM_dig_truth_barcode;
+    std::vector< double > *m_NSWMM_dig_truth_localPosX;
+    std::vector< double > *m_NSWMM_dig_truth_localPosY;
+    std::vector< double > *m_NSWMM_dig_truth_globalPosX;
+    std::vector< double > *m_NSWMM_dig_truth_globalPosY;
+    std::vector< double > *m_NSWMM_dig_truth_globalPosZ;
+    std::vector< float  > *m_NSWMM_dig_truth_XZ_angle;
+
+    std::vector<int>   *m_NSWMM_dig_stripForTrigger;
+    std::vector<float> *m_NSWMM_dig_stripTimeForTrigger;
+
+
+    std::vector<int>    *m_NSWMM_trackId;
+    std::vector<int>    *m_NSWMM_truthEl;
+    std::vector<double> *m_NSWMM_globalTime;
+    std::vector<double> *m_NSWMM_hitGlobalPositionX;
+    std::vector<double> *m_NSWMM_hitGlobalPositionY;
+    std::vector<double> *m_NSWMM_hitGlobalPositionZ;
+    std::vector<double> *m_NSWMM_hitGlobalPositionR;
+    std::vector<double> *m_NSWMM_hitGlobalPositionP;
+    std::vector<double> *m_NSWMM_hitGlobalDirectionX;
+    std::vector<double> *m_NSWMM_hitGlobalDirectionY;
+    std::vector<double> *m_NSWMM_hitGlobalDirectionZ;
+
+    std::vector<double> *m_NSWMM_hitLocalPositionX;
+    std::vector<double> *m_NSWMM_hitLocalPositionY;
+    std::vector<double> *m_NSWMM_hitLocalPositionZ;
+
+    std::vector<double> *m_NSWMM_detector_globalPositionX;
+    std::vector<double> *m_NSWMM_detector_globalPositionY;
+    std::vector<double> *m_NSWMM_detector_globalPositionZ;
+    std::vector<double> *m_NSWMM_detector_globalPositionR;
+    std::vector<double> *m_NSWMM_detector_globalPositionP;
+
+    std::vector<double> *m_NSWMM_hitToDsurfacePositionX;
+    std::vector<double> *m_NSWMM_hitToDsurfacePositionY;
+    std::vector<double> *m_NSWMM_hitToDsurfacePositionZ;
+
+    std::vector<double> *m_NSWMM_hitToRsurfacePositionX;
+    std::vector<double> *m_NSWMM_hitToRsurfacePositionY;
+    std::vector<double> *m_NSWMM_hitToRsurfacePositionZ;
+
+
+    std::vector<int> *m_NSWMM_particleEncoding;
+    std::vector<double> *m_NSWMM_kineticEnergy;
+    std::vector<double> *m_NSWMM_depositEnergy;
+    std::vector<double> *m_NSWMM_StepLength;
+
+    std::vector<std::string> *m_NSWMM_sim_stationName;
+    std::vector<int> *m_NSWMM_sim_stationEta;
+    std::vector<int> *m_NSWMM_sim_stationPhi;
+    std::vector<int> *m_NSWMM_sim_multilayer;
+    std::vector<int> *m_NSWMM_sim_layer;
+    std::vector<int> *m_NSWMM_sim_side;
+
+    std::vector<std::string> *m_NSWMM_off_stationName;
+    std::vector<int> *m_NSWMM_off_stationEta;
+    std::vector<int> *m_NSWMM_off_stationPhi;
+    std::vector<int> *m_NSWMM_off_multiplet;
+    std::vector<int> *m_NSWMM_off_gas_gap;
+    std::vector<int> *m_NSWMM_off_channel;
+
+  };  // end of MMTriggerTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx
new file mode 100644
index 00000000000..93a78232435
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx
@@ -0,0 +1,548 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+#include "AthenaBaseComps/AthMsgStreamMacros.h"
+
+
+// local includes
+#include "MMTriggerTool.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility>
+
+using namespace std;
+
+namespace NSWL1 {
+
+    void MMTriggerTool::handle(const Incident& inc) {
+      if( inc.type()==IncidentType::BeginEvent ) {
+        ATH_MSG_INFO( "Handling..." );
+        this->clear_ntuple_variables();
+      }
+    }
+
+    StatusCode MMTriggerTool::book_branches() {
+
+      m_trigger_fitThe       = new std::vector<double>();
+      m_trigger_fitPhi       = new std::vector<double>();
+      m_trigger_fitDth       = new std::vector<double>();
+      m_trigger_trueEtaRange = new std::vector<double>();
+      m_trigger_truePtRange  = new std::vector<double>();
+      m_trigger_fitEtaRange  = new std::vector<double>();
+      m_trigger_fitPtRange   = new std::vector<double>();
+      m_trigger_resThe       = new std::vector<double>();
+      m_trigger_resPhi       =  new std::vector<double>();
+      m_trigger_resDth       = new std::vector<double>();
+
+      m_trigger_large_fitThe       = new std::vector<double>();
+      m_trigger_large_fitPhi       = new std::vector<double>();
+      m_trigger_large_fitDth       = new std::vector<double>();
+      m_trigger_large_trueEtaRange = new std::vector<double>();
+      m_trigger_large_truePtRange  = new std::vector<double>();
+      m_trigger_large_fitEtaRange  = new std::vector<double>();
+      m_trigger_large_fitPtRange   = new std::vector<double>();
+      m_trigger_large_resThe       = new std::vector<double>();
+      m_trigger_large_resPhi       =  new std::vector<double>();
+      m_trigger_large_resDth       = new std::vector<double>();
+
+      m_trigger_small_fitThe       = new std::vector<double>();
+      m_trigger_small_fitPhi       = new std::vector<double>();
+      m_trigger_small_fitDth       = new std::vector<double>();
+      m_trigger_small_trueEtaRange = new std::vector<double>();
+      m_trigger_small_truePtRange  = new std::vector<double>();
+      m_trigger_small_fitEtaRange  = new std::vector<double>();
+      m_trigger_small_fitPtRange   = new std::vector<double>();
+      m_trigger_small_resThe       = new std::vector<double>();
+      m_trigger_small_resPhi       =  new std::vector<double>();
+      m_trigger_small_resDth       = new std::vector<double>();
+
+      m_trigger_VMM          = new std::vector<int>();
+      m_trigger_plane        = new std::vector<int>();
+      m_trigger_station      = new std::vector<int>();
+      m_trigger_strip        = new std::vector<int>();
+      m_trigger_slope        = new std::vector<double>();
+      m_trigger_trueThe      = new std::vector<double>();
+      m_trigger_truePhi      = new std::vector<double>();
+      m_trigger_trueDth      = new std::vector<double>();
+      m_trigger_mxl          = new std::vector<double>();
+      m_trigger_mx           = new std::vector<double>();
+      m_trigger_my           = new std::vector<double>();
+      m_trigger_mu           = new std::vector<double>();
+      m_trigger_mv           = new std::vector<double>();
+
+      m_NSWMM_dig_stationName = new std::vector<std::string>();
+      m_NSWMM_dig_stationEta  = new std::vector<int>();
+      m_NSWMM_dig_stationPhi  = new std::vector<int>();
+      m_NSWMM_dig_multiplet   = new std::vector<int>();
+      m_NSWMM_dig_gas_gap     = new std::vector<int>();
+      m_NSWMM_dig_channel     = new std::vector<int>();
+
+      m_NSWMM_dig_time          = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_charge        = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_stripPosition = new std::vector< std::vector<int> >;
+      m_NSWMM_dig_stripLposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripLposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripGposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripGposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_stripGposZ    = new std::vector< std::vector<double> >;
+
+      m_NSWMM_dig_sr_time          = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_sr_charge        = new std::vector< std::vector<float> >;
+      m_NSWMM_dig_sr_stripPosition = new std::vector< std::vector<int> >;
+      m_NSWMM_dig_sr_stripLposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripLposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripGposX    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripGposY    = new std::vector< std::vector<double> >;
+      m_NSWMM_dig_sr_stripGposZ    = new std::vector< std::vector<double> >;
+
+      m_NSWMM_dig_truth_barcode    = new std::vector<int>;
+      m_NSWMM_dig_truth_localPosX  = new std::vector<double>;
+      m_NSWMM_dig_truth_localPosY  = new std::vector<double>;
+      m_NSWMM_dig_truth_XZ_angle   = new std::vector<float>;
+      m_NSWMM_dig_truth_globalPosX = new std::vector<double>;
+      m_NSWMM_dig_truth_globalPosY = new std::vector<double>;
+      m_NSWMM_dig_truth_globalPosZ = new std::vector<double>;
+
+      //m_NSWMM_dig_stripForTrigger     = new std::vector<int>;
+      //m_NSWMM_dig_stripTimeForTrigger = new std::vector<float>;
+
+
+
+      m_NSWMM_trackId  = new std::vector<int>;
+      m_NSWMM_truthEl  = new std::vector<int>;
+      m_NSWMM_globalTime = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionX = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionY = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionZ = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionR = new std::vector<double>;
+      m_NSWMM_hitGlobalPositionP = new std::vector<double>;
+      m_NSWMM_hitGlobalDirectionX = new std::vector<double>;
+      m_NSWMM_hitGlobalDirectionY = new std::vector<double>;
+      m_NSWMM_hitGlobalDirectionZ = new std::vector<double>;
+
+      m_NSWMM_hitLocalPositionX = new std::vector<double>;
+      m_NSWMM_hitLocalPositionY = new std::vector<double>;
+      m_NSWMM_hitLocalPositionZ = new std::vector<double>;
+
+      m_NSWMM_detector_globalPositionX = new std::vector<double>;
+      m_NSWMM_detector_globalPositionY = new std::vector<double>;
+      m_NSWMM_detector_globalPositionZ = new std::vector<double>;
+      m_NSWMM_detector_globalPositionR = new std::vector<double>;
+      m_NSWMM_detector_globalPositionP = new std::vector<double>;
+
+      m_NSWMM_hitToDsurfacePositionX = new std::vector<double>;
+      m_NSWMM_hitToDsurfacePositionY = new std::vector<double>;
+      m_NSWMM_hitToDsurfacePositionZ = new std::vector<double>;
+
+      m_NSWMM_hitToRsurfacePositionX = new std::vector<double>;
+      m_NSWMM_hitToRsurfacePositionY = new std::vector<double>;
+      m_NSWMM_hitToRsurfacePositionZ = new std::vector<double>;
+
+      m_NSWMM_particleEncoding = new std::vector<int>;
+      m_NSWMM_kineticEnergy = new std::vector<double>;
+      m_NSWMM_depositEnergy = new std::vector<double>;
+      m_NSWMM_StepLength = new std::vector<double>;
+
+
+      m_NSWMM_sim_stationName = new std::vector<std::string>;
+      m_NSWMM_sim_stationEta  = new std::vector<int>;
+      m_NSWMM_sim_stationPhi  = new std::vector<int>;
+      m_NSWMM_sim_multilayer  = new std::vector<int>;
+      m_NSWMM_sim_layer       = new std::vector<int>;
+      m_NSWMM_sim_side        = new std::vector<int>;
+
+      m_NSWMM_off_stationName = new std::vector<std::string>;
+      m_NSWMM_off_stationEta  = new std::vector<int>;
+      m_NSWMM_off_stationPhi  = new std::vector<int>;
+      m_NSWMM_off_multiplet   = new std::vector<int>;
+      m_NSWMM_off_gas_gap     = new std::vector<int>;
+      m_NSWMM_off_channel     = new std::vector<int>;
+
+      if (m_tree) {
+        std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
+        const char* n = ToolName.c_str();
+
+        m_tree->Branch(TString::Format("%s_trigger_fitThe",n).Data(),&m_trigger_fitThe);
+        m_tree->Branch(TString::Format("%s_trigger_fitPhi",n).Data(),    &m_trigger_fitPhi);
+        m_tree->Branch(TString::Format("%s_trigger_fitDth",n).Data(),    &m_trigger_fitDth);
+        m_tree->Branch(TString::Format("%s_trigger_trueEtaRange",n).Data(),    &m_trigger_trueEtaRange);
+        m_tree->Branch(TString::Format("%s_trigger_truePtRange",n).Data(),    &m_trigger_truePtRange);
+        m_tree->Branch(TString::Format("%s_trigger_fitEtaRange",n).Data(),    &m_trigger_fitEtaRange);
+        m_tree->Branch(TString::Format("%s_trigger_fitPtRange",n).Data(),    &m_trigger_fitPtRange);
+        m_tree->Branch(TString::Format("%s_trigger_resThe",n).Data(),    &m_trigger_resThe);
+        m_tree->Branch(TString::Format("%s_trigger_resPhi",n).Data(),    &m_trigger_resPhi);
+        m_tree->Branch(TString::Format("%s_trigger_resDth",n).Data(),    &m_trigger_resDth);
+
+        m_tree->Branch(TString::Format("%s_trigger_large_fitThe",n).Data(),&m_trigger_large_fitThe);
+        m_tree->Branch(TString::Format("%s_trigger_large_fitPhi",n).Data(),    &m_trigger_large_fitPhi);
+        m_tree->Branch(TString::Format("%s_trigger_large_fitDth",n).Data(),    &m_trigger_large_fitDth);
+        m_tree->Branch(TString::Format("%s_trigger_large_trueEtaRange",n).Data(),    &m_trigger_large_trueEtaRange);
+        m_tree->Branch(TString::Format("%s_trigger_large_truePtRange",n).Data(),    &m_trigger_large_truePtRange);
+        m_tree->Branch(TString::Format("%s_trigger_large_fitEtaRange",n).Data(),    &m_trigger_large_fitEtaRange);
+        m_tree->Branch(TString::Format("%s_trigger_large_fitPtRange",n).Data(),    &m_trigger_large_fitPtRange);
+        m_tree->Branch(TString::Format("%s_trigger_large_resThe",n).Data(),    &m_trigger_large_resThe);
+        m_tree->Branch(TString::Format("%s_trigger_large_resPhi",n).Data(),    &m_trigger_large_resPhi);
+        m_tree->Branch(TString::Format("%s_trigger_large_resDth",n).Data(),    &m_trigger_large_resDth);
+
+        m_tree->Branch(TString::Format("%s_trigger_small_fitThe",n).Data(),&m_trigger_small_fitThe);
+        m_tree->Branch(TString::Format("%s_trigger_small_fitPhi",n).Data(),    &m_trigger_small_fitPhi);
+        m_tree->Branch(TString::Format("%s_trigger_small_fitDth",n).Data(),    &m_trigger_small_fitDth);
+        m_tree->Branch(TString::Format("%s_trigger_small_trueEtaRange",n).Data(),    &m_trigger_small_trueEtaRange);
+        m_tree->Branch(TString::Format("%s_trigger_small_truePtRange",n).Data(),    &m_trigger_small_truePtRange);
+        m_tree->Branch(TString::Format("%s_trigger_small_fitEtaRange",n).Data(),    &m_trigger_small_fitEtaRange);
+        m_tree->Branch(TString::Format("%s_trigger_small_fitPtRange",n).Data(),    &m_trigger_small_fitPtRange);
+        m_tree->Branch(TString::Format("%s_trigger_small_resThe",n).Data(),    &m_trigger_small_resThe);
+        m_tree->Branch(TString::Format("%s_trigger_small_resPhi",n).Data(),    &m_trigger_small_resPhi);
+        m_tree->Branch(TString::Format("%s_trigger_small_resDth",n).Data(),    &m_trigger_small_resDth);
+
+        m_tree->Branch(TString::Format("%s_trigger_VMM",n).Data(),    &m_trigger_VMM);
+        m_tree->Branch(TString::Format("%s_trigger_plane",n).Data(),    &m_trigger_plane);
+        m_tree->Branch(TString::Format("%s_trigger_station",n).Data(),    &m_trigger_station);
+        m_tree->Branch(TString::Format("%s_trigger_strip",n).Data(),    &m_trigger_strip);
+        m_tree->Branch(TString::Format("%s_trigger_slope",n).Data(),    &m_trigger_slope);
+        m_tree->Branch(TString::Format("%s_trigger_trueThe",n).Data(),    &m_trigger_trueThe);
+        m_tree->Branch(TString::Format("%s_trigger_truePhi",n).Data(),    &m_trigger_truePhi);
+        m_tree->Branch(TString::Format("%s_trigger_trueDth",n).Data(),    &m_trigger_trueDth);
+        m_tree->Branch(TString::Format("%s_trigger_mxl",n).Data(),    &m_trigger_mxl);
+        m_tree->Branch(TString::Format("%s_trigger_mx",n).Data(),    &m_trigger_mx);
+        m_tree->Branch(TString::Format("%s_trigger_my",n).Data(),    &m_trigger_my);
+        m_tree->Branch(TString::Format("%s_trigger_mu",n).Data(),    &m_trigger_mu);
+        m_tree->Branch(TString::Format("%s_trigger_mv",n).Data(),    &m_trigger_mv);
+
+
+        m_tree->Branch("Digits_MM_stationName", &m_NSWMM_dig_stationName);
+        m_tree->Branch("Digits_MM_stationEta",  &m_NSWMM_dig_stationEta);
+        m_tree->Branch("Digits_MM_stationPhi",  &m_NSWMM_dig_stationPhi);
+        m_tree->Branch("Digits_MM_multiplet",   &m_NSWMM_dig_multiplet);
+        m_tree->Branch("Digits_MM_gas_gap",     &m_NSWMM_dig_gas_gap);
+        m_tree->Branch("Digits_MM_channel",     &m_NSWMM_dig_channel);
+
+        m_tree->Branch("Digits_MM_time",          &m_NSWMM_dig_time);
+        m_tree->Branch("Digits_MM_charge",        &m_NSWMM_dig_charge);
+        m_tree->Branch("Digits_MM_stripPosition", &m_NSWMM_dig_stripPosition);
+        m_tree->Branch("Digits_MM_stripLposX",    &m_NSWMM_dig_stripLposX);
+        m_tree->Branch("Digits_MM_stripLposY",    &m_NSWMM_dig_stripLposY);
+        m_tree->Branch("Digits_MM_stripGposX",    &m_NSWMM_dig_stripGposX);
+        m_tree->Branch("Digits_MM_stripGposY",    &m_NSWMM_dig_stripGposY);
+        m_tree->Branch("Digits_MM_stripGposZ",    &m_NSWMM_dig_stripGposZ);
+
+        m_tree->Branch("Digits_MM_stripResponse_time",          &m_NSWMM_dig_sr_time);
+        m_tree->Branch("Digits_MM_stripResponse_charge",        &m_NSWMM_dig_sr_charge);
+        m_tree->Branch("Digits_MM_stripResponse_stripPosition", &m_NSWMM_dig_sr_stripPosition);
+        m_tree->Branch("Digits_MM_stripResponse_stripLposX",    &m_NSWMM_dig_sr_stripLposX);
+        m_tree->Branch("Digits_MM_stripResponse_stripLposY",    &m_NSWMM_dig_sr_stripLposY);
+        m_tree->Branch("Digits_MM_stripresponse_stripGposX",    &m_NSWMM_dig_sr_stripGposX);
+        m_tree->Branch("Digits_MM_stripResponse_stripGposY",    &m_NSWMM_dig_sr_stripGposY);
+        m_tree->Branch("Digits_MM_stripResponse_stripGposZ",    &m_NSWMM_dig_sr_stripGposZ);
+
+        m_tree->Branch("Digits_MM_truth_barcode",    &m_NSWMM_dig_truth_barcode);
+        m_tree->Branch("Digits_MM_truth_localPosX",  &m_NSWMM_dig_truth_localPosX);
+        m_tree->Branch("Digits_MM_truth_localPosY",  &m_NSWMM_dig_truth_localPosY);
+        m_tree->Branch("Digits_MM_truth_XZ_angle",   &m_NSWMM_dig_truth_XZ_angle);
+        m_tree->Branch("Digits_MM_truth_globalPosX", &m_NSWMM_dig_truth_globalPosX);
+        m_tree->Branch("Digits_MM_truth_globalPosY", &m_NSWMM_dig_truth_globalPosY);
+        m_tree->Branch("Digits_MM_truth_globalPosZ", &m_NSWMM_dig_truth_globalPosZ);
+
+        m_tree->Branch("Hits_MM_trackId", &m_NSWMM_trackId);
+        m_tree->Branch("Hits_MM_truthEl", &m_NSWMM_truthEl);
+        m_tree->Branch("Hits_MM_globalTime", &m_NSWMM_globalTime);
+        m_tree->Branch("Hits_MM_hitGlobalPositionX", &m_NSWMM_hitGlobalPositionX);
+        m_tree->Branch("Hits_MM_hitGlobalPositionY", &m_NSWMM_hitGlobalPositionY);
+        m_tree->Branch("Hits_MM_hitGlobalPositionZ", &m_NSWMM_hitGlobalPositionZ);
+        m_tree->Branch("Hits_MM_hitGlobalPositionR", &m_NSWMM_hitGlobalPositionR);
+        m_tree->Branch("Hits_MM_hitGlobalPositionP", &m_NSWMM_hitGlobalPositionP);
+        m_tree->Branch("Hits_MM_hitGlobalDirectionX", &m_NSWMM_hitGlobalDirectionX);
+        m_tree->Branch("Hits_MM_hitGlobalDirectionY", &m_NSWMM_hitGlobalDirectionY);
+        m_tree->Branch("Hits_MM_hitGlobalDirectionZ", &m_NSWMM_hitGlobalDirectionZ);
+
+        m_tree->Branch("Hits_MM_hitLocalPositionX", &m_NSWMM_hitLocalPositionX);
+        m_tree->Branch("Hits_MM_hitLocalPositionY", &m_NSWMM_hitLocalPositionY);
+        m_tree->Branch("Hits_MM_hitLocalPositionZ", &m_NSWMM_hitLocalPositionZ);
+
+        m_tree->Branch("Hits_MM_detector_globalPositionX", &m_NSWMM_detector_globalPositionX);
+        m_tree->Branch("Hits_MM_detector_globalPositionY", &m_NSWMM_detector_globalPositionY);
+        m_tree->Branch("Hits_MM_detector_globalPositionZ", &m_NSWMM_detector_globalPositionZ);
+        m_tree->Branch("Hits_MM_detector_globalPositionR", &m_NSWMM_detector_globalPositionR);
+        m_tree->Branch("Hits_MM_detector_globalPositionP", &m_NSWMM_detector_globalPositionP);
+
+        m_tree->Branch("Hits_MM_hitToDsurfacePositionX", &m_NSWMM_hitToDsurfacePositionX);
+        m_tree->Branch("Hits_MM_hitToDsurfacePositionY", &m_NSWMM_hitToDsurfacePositionY);
+        m_tree->Branch("Hits_MM_hitToDsurfacePositionZ", &m_NSWMM_hitToDsurfacePositionZ);
+
+        m_tree->Branch("Hits_MM_hitToRsurfacePositionX", &m_NSWMM_hitToRsurfacePositionX);
+        m_tree->Branch("Hits_MM_hitToRsurfacePositionY", &m_NSWMM_hitToRsurfacePositionY);
+        m_tree->Branch("Hits_MM_hitToRsurfacePositionZ", &m_NSWMM_hitToRsurfacePositionZ);
+
+
+        m_tree->Branch("Hits_MM_particleEncoding", &m_NSWMM_particleEncoding);
+        m_tree->Branch("Hits_MM_kineticEnergy", &m_NSWMM_kineticEnergy);
+        m_tree->Branch("Hits_MM_depositEnergy", &m_NSWMM_depositEnergy);
+        m_tree->Branch("Hits_MM_StepLength", &m_NSWMM_StepLength);
+
+
+        m_tree->Branch("Hits_MM_sim_stationName", &m_NSWMM_sim_stationName);
+        m_tree->Branch("Hits_MM_sim_stationEta", &m_NSWMM_sim_stationEta);
+        m_tree->Branch("Hits_MM_sim_stationPhi", &m_NSWMM_sim_stationPhi);
+        m_tree->Branch("Hits_MM_sim_multilayer", &m_NSWMM_sim_multilayer);
+        m_tree->Branch("Hits_MM_sim_layer", &m_NSWMM_sim_layer);
+        m_tree->Branch("Hits_MM_sim_side", &m_NSWMM_sim_side);
+
+        m_tree->Branch("Hits_MM_off_stationName", &m_NSWMM_off_stationName);
+        m_tree->Branch("Hits_MM_off_stationEta", &m_NSWMM_off_stationEta);
+        m_tree->Branch("Hits_MM_off_stationPhi", &m_NSWMM_off_stationPhi);
+        m_tree->Branch("Hits_MM_off_multiplet", &m_NSWMM_off_multiplet);
+        m_tree->Branch("Hits_MM_off_gas_gap", &m_NSWMM_off_gas_gap);
+        m_tree->Branch("Hits_MM_off_channel", &m_NSWMM_off_channel);
+
+
+        //m_tree->Branch("Digits_MM_stripForTrigger",     &m_NSWMM_dig_stripForTrigger);
+       // m_tree->Branch("Digits_MM_stripTimeForTrigger", &m_NSWMM_dig_stripTimeForTrigger);
+
+
+
+      } else {
+        return StatusCode::FAILURE;
+      }
+
+      return StatusCode::SUCCESS;
+    }
+
+    void MMTriggerTool::clear_ntuple_variables() {
+      //clear the ntuple variables
+      if(m_tree==0) return;
+
+      m_trigger_fitThe->clear();
+      m_trigger_fitPhi->clear();
+      m_trigger_fitDth->clear();
+      m_trigger_trueEtaRange->clear();
+      m_trigger_truePtRange->clear();
+      m_trigger_fitEtaRange->clear();
+      m_trigger_fitPtRange->clear();
+      m_trigger_resThe->clear();
+      m_trigger_resPhi->clear();
+      m_trigger_resDth->clear();
+
+      m_trigger_large_fitThe->clear();
+      m_trigger_large_fitPhi->clear();
+      m_trigger_large_fitDth->clear();
+      m_trigger_large_trueEtaRange->clear();
+      m_trigger_large_truePtRange->clear();
+      m_trigger_large_fitEtaRange->clear();
+      m_trigger_large_fitPtRange->clear();
+      m_trigger_large_resThe->clear();
+      m_trigger_large_resPhi->clear();
+      m_trigger_large_resDth->clear();
+
+      m_trigger_small_fitThe->clear();
+      m_trigger_small_fitPhi->clear();
+      m_trigger_small_fitDth->clear();
+      m_trigger_small_trueEtaRange->clear();
+      m_trigger_small_truePtRange->clear();
+      m_trigger_small_fitEtaRange->clear();
+      m_trigger_small_fitPtRange->clear();
+      m_trigger_small_resThe->clear();
+      m_trigger_small_resPhi->clear();
+      m_trigger_small_resDth->clear();
+
+      m_trigger_VMM->clear();
+      m_trigger_plane->clear();
+      m_trigger_station->clear();
+      m_trigger_strip->clear();
+      m_trigger_slope->clear();
+      m_trigger_trueThe->clear();
+      m_trigger_truePhi->clear();
+      m_trigger_trueDth->clear();
+      m_trigger_mxl->clear();
+      m_trigger_mx->clear();
+      m_trigger_my->clear();
+      m_trigger_mu->clear();
+      m_trigger_mv->clear();
+
+      // information of the module down to the channel closest to the initial G4 hit
+      // size of vector is m_NSWMM_nDigits
+      m_NSWMM_dig_stationName->clear();
+      m_NSWMM_dig_stationEta->clear();
+      m_NSWMM_dig_stationPhi->clear();
+      m_NSWMM_dig_multiplet->clear();
+      m_NSWMM_dig_gas_gap->clear();
+      m_NSWMM_dig_channel->clear();
+
+      // vectors of size m_NSWMM_nDigits that hold vectors in which an entry
+      // corresponds to a strip that was decided to be fired by the digit
+      // (information from VMM chip response emulation)
+      m_NSWMM_dig_time->clear();
+      m_NSWMM_dig_charge->clear();
+      m_NSWMM_dig_stripPosition->clear();
+      m_NSWMM_dig_stripLposX->clear();
+      m_NSWMM_dig_stripLposY->clear();
+      m_NSWMM_dig_stripGposX->clear();
+      m_NSWMM_dig_stripGposY->clear();
+      m_NSWMM_dig_stripGposZ->clear();
+
+      // vectors of size m_NSWMM_nDigits that hold vectors in which an entry
+      // corresponds to a strip that was decided to be fired by the digit
+      // (information from VMM chip strip emulation)
+      m_NSWMM_dig_sr_time->clear();
+      m_NSWMM_dig_sr_charge->clear();
+      m_NSWMM_dig_sr_stripPosition->clear();
+      m_NSWMM_dig_sr_stripLposX->clear();
+      m_NSWMM_dig_sr_stripLposY->clear();
+      m_NSWMM_dig_sr_stripGposX->clear();
+      m_NSWMM_dig_sr_stripGposY->clear();
+      m_NSWMM_dig_sr_stripGposZ->clear();
+
+      // truth information of the (1st) Geant4 hits that caused this
+      // digit to be recorded (size is m_NSWMM_nDigits)
+      m_NSWMM_dig_truth_barcode->clear();
+      m_NSWMM_dig_truth_localPosX->clear();
+      m_NSWMM_dig_truth_localPosY->clear();
+      m_NSWMM_dig_truth_XZ_angle->clear();
+      m_NSWMM_dig_truth_globalPosX->clear();
+      m_NSWMM_dig_truth_globalPosY->clear();
+      m_NSWMM_dig_truth_globalPosZ->clear();
+
+
+      m_NSWMM_trackId->clear();
+      m_NSWMM_truthEl->clear();
+      m_NSWMM_globalTime->clear();
+      m_NSWMM_hitGlobalPositionX->clear();
+      m_NSWMM_hitGlobalPositionY->clear();
+      m_NSWMM_hitGlobalPositionZ->clear();
+      m_NSWMM_hitGlobalPositionR->clear();
+      m_NSWMM_hitGlobalPositionP->clear();
+      m_NSWMM_hitGlobalDirectionX->clear();
+      m_NSWMM_hitGlobalDirectionY->clear();
+      m_NSWMM_hitGlobalDirectionZ->clear();
+
+      m_NSWMM_hitLocalPositionX->clear();
+      m_NSWMM_hitLocalPositionY->clear();
+      m_NSWMM_hitLocalPositionZ->clear();
+
+      m_NSWMM_detector_globalPositionX->clear();
+      m_NSWMM_detector_globalPositionY->clear();
+      m_NSWMM_detector_globalPositionZ->clear();
+      m_NSWMM_detector_globalPositionR->clear();
+      m_NSWMM_detector_globalPositionP->clear();
+
+      m_NSWMM_hitToDsurfacePositionX->clear();
+      m_NSWMM_hitToDsurfacePositionY->clear();
+      m_NSWMM_hitToDsurfacePositionZ->clear();
+
+      m_NSWMM_hitToRsurfacePositionX->clear();
+      m_NSWMM_hitToRsurfacePositionY->clear();
+      m_NSWMM_hitToRsurfacePositionZ->clear();
+
+      //m_NSWMM_FastDigitRsurfacePositionX->clear();
+      //m_NSWMM_FastDigitRsurfacePositionY->clear();
+
+
+      m_NSWMM_particleEncoding->clear();
+      m_NSWMM_kineticEnergy->clear();
+      m_NSWMM_depositEnergy->clear();
+      m_NSWMM_StepLength->clear();
+
+
+      m_NSWMM_sim_stationName->clear();
+      m_NSWMM_sim_stationEta->clear();
+      m_NSWMM_sim_stationPhi->clear();
+      m_NSWMM_sim_multilayer->clear();
+      m_NSWMM_sim_layer->clear();
+      m_NSWMM_sim_side->clear();
+
+      m_NSWMM_off_stationName->clear();
+      m_NSWMM_off_stationEta->clear();
+      m_NSWMM_off_stationPhi->clear();
+      m_NSWMM_off_multiplet->clear();
+      m_NSWMM_off_gas_gap->clear();
+      m_NSWMM_off_channel->clear();
+
+    }
+    void MMTriggerTool::fillNtuple(MMLoadVariables loadedVariables){
+
+      *m_NSWMM_dig_stationEta  = loadedVariables.histVars.NSWMM_dig_stationEta;
+      *m_NSWMM_dig_stationPhi  = loadedVariables.histVars.NSWMM_dig_stationPhi;
+      *m_NSWMM_dig_multiplet   = loadedVariables.histVars.NSWMM_dig_multiplet;
+      *m_NSWMM_dig_gas_gap     = loadedVariables.histVars.NSWMM_dig_gas_gap;
+      *m_NSWMM_dig_channel     = loadedVariables.histVars.NSWMM_dig_channel;
+      *m_NSWMM_dig_time          = loadedVariables.histVars.NSWMM_dig_time;
+      *m_NSWMM_dig_charge        = loadedVariables.histVars.NSWMM_dig_charge;
+      *m_NSWMM_dig_stripPosition = loadedVariables.histVars.NSWMM_dig_stripPosition;
+      *m_NSWMM_dig_stripLposX    = loadedVariables.histVars.NSWMM_dig_stripLposX;
+      *m_NSWMM_dig_stripLposY    = loadedVariables.histVars.NSWMM_dig_stripLposY;
+      *m_NSWMM_dig_stripGposX    = loadedVariables.histVars.NSWMM_dig_stripGposX;
+      *m_NSWMM_dig_stripGposY    = loadedVariables.histVars.NSWMM_dig_stripGposY;
+      *m_NSWMM_dig_stripGposZ    = loadedVariables.histVars.NSWMM_dig_stripGposZ;
+      *m_NSWMM_dig_sr_time          = loadedVariables.histVars.NSWMM_dig_sr_time;
+      *m_NSWMM_dig_sr_charge        = loadedVariables.histVars.NSWMM_dig_sr_charge;
+      *m_NSWMM_dig_sr_stripPosition = loadedVariables.histVars.NSWMM_dig_sr_stripPosition;
+      *m_NSWMM_dig_sr_stripLposX    = loadedVariables.histVars.NSWMM_dig_sr_stripLposX;
+      *m_NSWMM_dig_sr_stripLposY    = loadedVariables.histVars.NSWMM_dig_sr_stripLposY;
+      *m_NSWMM_dig_sr_stripGposX    = loadedVariables.histVars.NSWMM_dig_sr_stripGposX;
+      *m_NSWMM_dig_sr_stripGposY    = loadedVariables.histVars.NSWMM_dig_sr_stripGposY;
+      *m_NSWMM_dig_sr_stripGposZ    = loadedVariables.histVars.NSWMM_dig_sr_stripGposZ;
+      *m_NSWMM_dig_truth_barcode    = loadedVariables.histVars.NSWMM_dig_truth_barcode;
+      *m_NSWMM_dig_truth_localPosX  = loadedVariables.histVars.NSWMM_dig_truth_localPosX;
+      *m_NSWMM_dig_truth_localPosY  = loadedVariables.histVars.NSWMM_dig_truth_localPosY;
+      *m_NSWMM_dig_truth_XZ_angle   = loadedVariables.histVars.NSWMM_dig_truth_XZ_angle;
+      *m_NSWMM_dig_truth_globalPosX = loadedVariables.histVars.NSWMM_dig_truth_globalPosX;
+      *m_NSWMM_dig_truth_globalPosY = loadedVariables.histVars.NSWMM_dig_truth_globalPosY;
+      *m_NSWMM_dig_truth_globalPosZ = loadedVariables.histVars.NSWMM_dig_truth_globalPosZ;
+
+      //m_NSWMM_dig_stripForTrigger     = new std::vector<int>;
+      //m_NSWMM_dig_stripTimeForTrigger = new std::vector<float>;
+
+
+
+      *m_NSWMM_trackId  = loadedVariables.histVars.NSWMM_trackId;
+      *m_NSWMM_truthEl  = loadedVariables.histVars.NSWMM_truthEl;
+      *m_NSWMM_globalTime = loadedVariables.histVars.NSWMM_globalTime;
+      *m_NSWMM_hitGlobalPositionX = loadedVariables.histVars.NSWMM_hitGlobalPositionX;
+      *m_NSWMM_hitGlobalPositionY = loadedVariables.histVars.NSWMM_hitGlobalPositionY;
+      *m_NSWMM_hitGlobalPositionZ = loadedVariables.histVars.NSWMM_hitGlobalPositionZ;
+      *m_NSWMM_hitGlobalPositionR = loadedVariables.histVars.NSWMM_hitGlobalPositionR;
+      *m_NSWMM_hitGlobalPositionP = loadedVariables.histVars.NSWMM_hitGlobalPositionP;
+      *m_NSWMM_hitGlobalDirectionX = loadedVariables.histVars.NSWMM_hitGlobalDirectionX;
+      *m_NSWMM_hitGlobalDirectionY = loadedVariables.histVars.NSWMM_hitGlobalDirectionY;
+      *m_NSWMM_hitGlobalDirectionZ = loadedVariables.histVars.NSWMM_hitGlobalDirectionZ;
+      *m_NSWMM_hitLocalPositionX = loadedVariables.histVars.NSWMM_hitLocalPositionX;
+      *m_NSWMM_hitLocalPositionY = loadedVariables.histVars.NSWMM_hitLocalPositionY;
+      *m_NSWMM_hitLocalPositionZ = loadedVariables.histVars.NSWMM_hitLocalPositionZ;
+      *m_NSWMM_detector_globalPositionX = loadedVariables.histVars.NSWMM_detector_globalPositionX;
+      *m_NSWMM_detector_globalPositionY = loadedVariables.histVars.NSWMM_detector_globalPositionY;
+      *m_NSWMM_detector_globalPositionZ = loadedVariables.histVars.NSWMM_detector_globalPositionZ;
+      *m_NSWMM_detector_globalPositionR = loadedVariables.histVars.NSWMM_detector_globalPositionR;
+      *m_NSWMM_detector_globalPositionP = loadedVariables.histVars.NSWMM_detector_globalPositionP;
+      *m_NSWMM_hitToDsurfacePositionX = loadedVariables.histVars.NSWMM_hitToDsurfacePositionX;
+      *m_NSWMM_hitToDsurfacePositionY = loadedVariables.histVars.NSWMM_hitToDsurfacePositionY;
+      *m_NSWMM_hitToDsurfacePositionZ = loadedVariables.histVars.NSWMM_hitToDsurfacePositionZ;
+      *m_NSWMM_hitToRsurfacePositionX = loadedVariables.histVars.NSWMM_hitToRsurfacePositionX;
+      *m_NSWMM_hitToRsurfacePositionY = loadedVariables.histVars.NSWMM_hitToRsurfacePositionY;
+      *m_NSWMM_hitToRsurfacePositionZ = loadedVariables.histVars.NSWMM_hitToRsurfacePositionZ;
+      *m_NSWMM_particleEncoding = loadedVariables.histVars.NSWMM_particleEncoding;
+      *m_NSWMM_kineticEnergy = loadedVariables.histVars.NSWMM_kineticEnergy;
+      *m_NSWMM_depositEnergy = loadedVariables.histVars.NSWMM_depositEnergy;
+      *m_NSWMM_sim_stationEta  = loadedVariables.histVars.NSWMM_sim_stationEta;
+      *m_NSWMM_sim_stationPhi  = loadedVariables.histVars.NSWMM_sim_stationPhi;
+      *m_NSWMM_sim_multilayer  = loadedVariables.histVars.NSWMM_sim_multilayer;
+      *m_NSWMM_sim_layer       = loadedVariables.histVars.NSWMM_sim_layer;
+      *m_NSWMM_sim_side        = loadedVariables.histVars.NSWMM_sim_side;
+      *m_NSWMM_off_stationEta  = loadedVariables.histVars.NSWMM_off_stationEta;
+      *m_NSWMM_off_stationPhi  = loadedVariables.histVars.NSWMM_off_stationPhi;
+      *m_NSWMM_off_multiplet   = loadedVariables.histVars.NSWMM_off_multiplet;
+      *m_NSWMM_off_gas_gap     = loadedVariables.histVars.NSWMM_off_gas_gap;
+      *m_NSWMM_off_channel     = loadedVariables.histVars.NSWMM_off_channel;
+    }
+
+
+}//end namespace
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadData.cxx
new file mode 100644
index 00000000000..ead6f1b6a4e
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadData.cxx
@@ -0,0 +1,20 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#include "TrigT1NSWSimTools/PadData.h"
+
+std::ostream& operator<<(std::ostream& stream, NSWL1::PadData& data) {
+    stream << "Pad hit at side " << ( (data.sideId())? "C":"A") // According to PadData.h
+           << ", sector id "     << data.sectorId()
+           << ", sector type "   << data.sectorType()
+           << ", module id "     << data.moduleId()
+           << ", multiplet id "  << data.multipletId()
+           << ", gas gap id "    << data.gasGapId()
+           << ", pad eta id "    << data.padEtaId()
+           << ", pad phi id "    << data.padPhiId();
+
+    return stream;
+}
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.cxx
new file mode 100644
index 00000000000..983d337f89c
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.cxx
@@ -0,0 +1,77 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+//Local includes
+#include "PadOfflineData.h"
+#include "sTGCenumeration.h"
+
+#include "TVector3.h"
+
+#include <string>
+
+
+namespace NSWL1 {
+
+    PadOfflineData::PadOfflineData(Identifier id, float time, uint16_t bc_tag, const sTgcIdHelper* helper) :
+    PadData(),
+    m_id(id), m_helper(helper),m_time(time),m_bc_tag(bc_tag) 
+    {}
+
+    PadOfflineData::~PadOfflineData() {
+        // PaddOfflineData doesn't own the helper, so nothing to do here
+    }
+
+    //! methods for retrieving the bare data
+    uint32_t   PadOfflineData::id()       const { return m_id.get_identifier32().get_compact(); }
+    uint16_t   PadOfflineData::BC_Tag()   const { return m_bc_tag; }
+    float      PadOfflineData::time()     const { return m_time; }
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int PadOfflineData::sideId()      const { 
+        if (m_helper)  return (m_helper->stationEta(m_id)<0)? 0 : 1;
+        return -1;
+    }
+
+    int PadOfflineData::moduleId()    const {
+        if (m_helper)  return std::abs(m_helper->stationEta(m_id));
+        return -1;
+    }
+
+    int PadOfflineData::sectorId()    const {
+        if(m_helper) { return m_helper->stationPhi(m_id); }
+        return -1;
+    }
+
+    int PadOfflineData::sectorType()    const {
+        if(m_helper) { return m_helper->isSmall(m_id) ? 0 : 1; }
+        return -1;
+    }
+
+    int PadOfflineData::multipletId() const {
+        if (m_helper) return m_helper->multilayer(m_id);
+        return -1;
+    }
+
+    int PadOfflineData::gasGapId()    const {
+        if (m_helper) return m_helper->gasGap(m_id);
+        return -1;
+    }
+
+    int PadOfflineData::channelId()   const {
+        if (m_helper) return m_helper->channel(m_id);
+        return -1;
+    }
+
+    int PadOfflineData::padEtaId()    const {
+        if (m_helper) return m_helper->padEta(m_id);
+        return -1;
+    }
+
+    int PadOfflineData::padPhiId()    const {
+        if (m_helper) return m_helper->padPhi(m_id);
+        return -1;
+    }
+
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.h
new file mode 100644
index 00000000000..fc064438a52
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadOfflineData.h
@@ -0,0 +1,72 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef PADOFFLINEDATA_H
+#define PADOFFLINEDATA_H
+
+// Identifier includes
+#include "Identifier/Identifier.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+
+// local includes
+#include "TrigT1NSWSimTools/PadData.h"
+
+
+// forward declarations
+class TVector3;
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short class modeling the pad hit fragment for the NSW L1 offline simulation
+   *
+   * This holds the BDCI plus the hit offline identifier with the corresponding helper.
+   * Additional data can be added provding the relative access methods are also added in
+   * the abstract class.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *          Alaettin Serhan Mete <amete@cern.ch>
+   *
+   */
+
+  class PadOfflineData: public PadData {
+
+  private:
+    const Identifier    m_id;      //!< offline identifier of the PAD hit
+    const sTgcIdHelper* m_helper;  //!< helper for the identifier decoding
+
+    float               m_time;    //!< signal arrival time after electronics delay is applied
+    uint16_t            m_bc_tag;  //!< BC Tag
+
+  public:
+    PadOfflineData(Identifier id, float time, uint16_t bc_tag, const sTgcIdHelper* helper);
+    //PadOfflineData(Identifier id, float time, uint16_t bc_tag, bool isdead, bool ispileup, const sTgcIdHelper* helper);
+    ~PadOfflineData();
+
+    //! methods for retrieving the bare data
+    uint32_t id()              const;  //!< get the 32 bit word identifing the fragment
+    uint16_t BC_Tag()          const;  //!< get the BCID
+    float    time()            const;  //!< get the arrival time after the delay is applied
+    //bool     isDead()          const;  //!< get the isDead bool 
+    //bool     isPileup()        const;  //!< get the isPileup bool
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int sideId()               const;  //!< get the side            (0==sideC, 1==sideA)
+    int moduleId()             const;  //!< get the physics module  (ranging from 1 at lowest R to 3 at highest R)
+    int sectorId()             const;  //!< get the sector          (ranging from 1 to 8)
+    int sectorType()           const;  //!< get the sector type     (ranging from 0 to 1, Small and Large) 
+    int multipletId()          const;  //!< get the multiplet       (ranging from 1 to 2, 1 is at lowest |z|)
+    int gasGapId()             const;  //!< get the gas gap         (ranging from 1 to 4, 1 is at lowest |z|)
+    int channelId()            const;  //!< get the channel
+    int padEtaId()             const;  //!< get the pad eta channel  
+    int padPhiId()             const;  //!< get the pad phi channel 
+
+  };  // end of PadOfflineData class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.cxx
new file mode 100644
index 00000000000..19c696e6dee
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.cxx
@@ -0,0 +1,701 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+#include "AGDDKernel/AGDDDetector.h"
+#include "AGDDKernel/AGDDDetectorStore.h"
+
+// local includes
+#include "PadTdsOfflineTool.h"
+#include "PadOfflineData.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// Muon software includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigitContainer.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+#include "PadUtil.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility> // make_pair
+
+using namespace std;
+
+
+namespace NSWL1 {
+
+struct PadHits {
+    Identifier      t_id;
+    PadOfflineData* t_pad;
+    int             t_cache_index;
+
+    // constructor
+    PadHits(Identifier id, PadOfflineData* p, int c) { t_id = id; t_pad=p; t_cache_index=c; }
+};
+
+
+bool order_padHits_with_increasing_time(PadHits i, PadHits j) { return i.t_pad->time() < j.t_pad->time(); }
+
+typedef std::map < Identifier,std::vector<PadHits> > PAD_MAP;
+typedef std::map < Identifier,std::vector<PadHits> >::iterator PAD_MAP_IT;
+typedef std::pair< Identifier,std::vector<PadHits> > PAD_MAP_ITEM;
+//------------------------------------------------------------------------------
+PadTdsOfflineTool::PadTdsOfflineTool( const std::string& type, const std::string& name, const IInterface* parent) :
+    AthAlgTool(type,name,parent),
+    m_incidentSvc("IncidentSvc",name),
+    m_rndmSvc("AtRndmGenSvc",name),
+    m_rndmEngine(0),
+    m_detManager(0),
+    m_sTgcIdHelper(0),
+    m_pad_cache_runNumber(-1),
+    m_pad_cache_eventNumber(-1),
+    m_pad_cache_status(CLEARED),
+    m_rndmEngineName(""),
+    m_sTgcDigitContainer(""),
+    m_sTgcSdoContainer(""),
+    m_VMMTimeOverThreshold(0.),
+    m_VMMShapingTime(0.),
+    m_VMMDeadTime(0.),
+    m_triggerCaptureWindow(0.),
+    m_timeJitter(0.),
+    //m_applyTDS_TofSubtraction(false),
+    //m_applyTDS_TimeJitterSubtraction(false),
+    //m_applyVMM_ToT(false),
+    //m_applyVMM_ShapingTime(false),
+    //m_applyVMM_DeadTime(false),
+    m_doNtuple(false)
+{
+    declareInterface<NSWL1::IPadTdsTool>(this);
+    declareProperty("RndmEngineName", m_rndmEngineName = "PadTdsOfflineTool", "the name of the random engine");
+    declareProperty("sTGC_DigitContainerName", m_sTgcDigitContainer = "sTGC_DIGITS", "the name of the sTGC digit container");
+    declareProperty("sTGC_SdoContainerName", m_sTgcSdoContainer = "sTGC_SDO", "the name of the sTGC SDO container");
+    declareProperty("VMM_TimeOverThreshold", m_VMMTimeOverThreshold = 0., "the time to form a digital signal");
+    declareProperty("VMM_ShapingTime", m_VMMShapingTime = 0., "the time from the leading edge of the signal and its peak");
+    declareProperty("VMM_DeadTime", m_VMMDeadTime = 50., "the dead time of the VMM chip to produce another signal on the same channel");
+    declareProperty("TriggerCaptureWindow", m_triggerCaptureWindow = 30., "time window for valid hit coincidences");
+    declareProperty("TimeJitter", m_timeJitter = 2., "the time jitter");
+    //declareProperty("ApplyTDS_TofSubtraction", m_applyTDS_TofSubtraction = true, "if true remove the time of flight from the PAD digit time before the BC tag");
+    //declareProperty("ApplyTDS_TimeJitterSubtraction", m_applyTDS_TimeJitterSubtraction = true, "if true remove random jitter from the PAD digit time before the BC tag");
+    //declareProperty("ApplyVMM_ToT", m_applyVMM_ToT = false, "if true apply special processing for the Time Over Threshold in the TDS");
+    //declareProperty("ApplyVMM_ShapingTime", m_applyVMM_ShapingTime = false, "if true apply special processing for the shaping time in the TDS");
+    //declareProperty("ApplyVMM_DeatTime", m_applyVMM_DeadTime = true, "if true apply the VMM Dead Time simulation in the TDS");
+    declareProperty("DoNtuple", m_doNtuple = false, "input the PadTds branches into the analysis ntuple");
+
+    // reserve enough slots for the trigger sectors and fills empty vectors
+    m_pad_cache.reserve(PadTdsOfflineTool::numberOfSectors());
+    std::vector< std::vector<PadData*> >::iterator it = m_pad_cache.begin();
+    m_pad_cache.insert(it, PadTdsOfflineTool::numberOfSectors(), std::vector<PadData*>());
+}
+//------------------------------------------------------------------------------
+PadTdsOfflineTool::~PadTdsOfflineTool() {
+    // clear the internal cache
+    this->clear_cache();
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::clear_cache() {
+    for (unsigned int i=0; i<m_pad_cache.size(); i++) {
+        std::vector<PadData*>& sector_pads = m_pad_cache.at(i);
+        for (unsigned int p=0; p< sector_pads.size(); p++) {
+            delete sector_pads.at(p);
+        }
+        sector_pads.clear();
+    }
+}
+//------------------------------------------------------------------------------
+StatusCode PadTdsOfflineTool::initialize() {
+    ATH_MSG_INFO( "initializing " << name() );
+
+    ATH_MSG_INFO( name() << " configuration:");
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_rndmEngineName.name() << m_rndmEngineName.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_sTgcDigitContainer.name() << m_sTgcDigitContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_sTgcSdoContainer.name() << m_sTgcSdoContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_triggerCaptureWindow.name() << m_triggerCaptureWindow.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_timeJitter.name() << m_timeJitter.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_VMMTimeOverThreshold.name() << m_VMMTimeOverThreshold.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_VMMShapingTime.name() << m_VMMShapingTime.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_VMMDeadTime.name() << m_VMMDeadTime.value());
+    //ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_applyTDS_TofSubtraction.name() << ((m_applyTDS_TofSubtraction)? "[True]":"[False]") );
+    //ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_applyTDS_TimeJitterSubtraction.name() << ((m_applyTDS_TimeJitterSubtraction)? "[True]":"[False]") );
+    //ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_applyVMM_ToT.name() << ((m_applyVMM_ToT)? "[True]":"[False]") );
+    //ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_applyVMM_ShapingTime.name() << ((m_applyVMM_ShapingTime)? "[True]":"[False]") );
+    //ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_applyVMM_DeadTime.name() << ((m_applyVMM_DeadTime)? "[True]":"[False]") );
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
+                 << setfill(' ') << setiosflags(ios::right) );
+
+    const IInterface* parent = this->parent();
+    const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+    std::string algo_name = pnamed->name();
+
+    if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        if(TTree *tree = get_tree_from_histsvc()){
+            m_validation_tree.init_tree(tree);
+        } else {
+            ATH_MSG_FATAL("Cannot book requested output tree");
+            return StatusCode::FAILURE;
+        }
+    }           
+    // retrieve the Incident Service
+    if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+    }
+    m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+    // retrieve the Random Service
+    if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+    }
+
+    // retrieve the random engine
+    m_rndmEngine = m_rndmSvc->GetEngine(m_rndmEngineName);
+    if (m_rndmEngine==0) {
+        ATH_MSG_FATAL("Could not retrieve the random engine " << m_rndmEngineName);
+        return StatusCode::FAILURE;
+    }
+
+    //  retrieve the MuonDetectormanager
+    if( detStore()->retrieve( m_detManager ).isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+    }
+
+    //  retrieve the sTGC offline Id helper
+    if( detStore()->retrieve( m_sTgcIdHelper ).isFailure() ){
+        ATH_MSG_FATAL("Failed to retrieve sTgcIdHelper");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("sTgcIdHelper successfully retrieved");
+    }
+
+    bool testGeometryAccess=false; // for now this is just an example DG-2014-07-11
+    if(testGeometryAccess)
+        printStgcGeometryFromAgdd();
+
+    return StatusCode::SUCCESS;
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::handle(const Incident& inc) {
+    if( inc.type()==IncidentType::BeginEvent ) {
+        this->clear_cache();
+        m_validation_tree.reset_ntuple_variables();
+        m_pad_cache_status = CLEARED;
+    }
+}
+//------------------------------------------------------------------------------
+/// convert the local position of a simhit to a global position
+/**
+   Relies on the transformation provided by the pad PlaneSurface.
+   Used in PadTdsOfflineTool::fill_pad_validation_id().
+*/
+Amg::Vector3D local_position_to_global_position(const MuonSimData::Deposit &d, const Trk::PlaneSurface& s)
+{
+    double localPosX(d.second.firstEntry()), localPosY(d.second.secondEntry());
+    Amg::Vector2D localPos(localPosX, localPosY);
+    Amg::Vector3D globalPos;
+    s.localToGlobal(localPos, globalPos, globalPos);
+    return globalPos;
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::fill_pad_validation_id() {
+    float bin_offset = +0.; // used to center the bin on the value of the Pad Id
+    for (unsigned int i=0; i<m_pad_cache.size(); i++) { 
+        std::vector<PadData*>& pad = m_pad_cache.at(i);
+        m_validation_tree.fill_num_pad_hits(pad.size());
+        for (unsigned int p=0; p<pad.size(); p++) {
+            PadData* pd = pad.at(p);
+            Identifier Id( pd->id() );
+            const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id);
+            const Trk::PlaneSurface &surface = rdoEl->surface(Id);
+            // gathers the readout element associated to this PAD + the PAD Local/Global psoition
+            Amg::Vector2D pad_lpos;
+            Amg::Vector3D pad_gpos;
+            rdoEl->stripPosition(Id,pad_lpos); // shouldn't this be padPosition? DG 2014-01-17
+            surface.localToGlobal(pad_lpos, pad_gpos, pad_gpos);
+            ATH_MSG_DEBUG("Pad at GposX " << pad_gpos.x() << " GposY " << pad_gpos.y() << " GposZ " << pad_gpos.z()<<" from multiplet "<< pd->multipletId()<<" and gasGapId "<<pd->gasGapId() );
+
+            std::vector<MuonSimData::Deposit> deposits;
+            if(get_truth_hits_this_pad(Id, deposits)){
+                for(auto d : deposits) {
+                    m_validation_tree.fill_truth_hit_global_pos(local_position_to_global_position(d, surface));
+                }
+            }
+
+            // Fill Pad Corners
+            std::vector<Amg::Vector2D> local_pad_corners;
+            rdoEl->padCorners(Id,local_pad_corners);
+            std::vector<Amg::Vector3D> global_pad_corners;
+            for(auto& local_corner : local_pad_corners) {
+              Amg::Vector3D global_corner;
+              surface.localToGlobal(local_corner, global_corner, global_corner);
+              global_pad_corners.push_back(global_corner);
+            } 
+            m_validation_tree.fill_hit_global_corner_pos(global_pad_corners);
+
+            // gathers the Offline PAD EDM from the interface
+            PadOfflineData* pad_offline = dynamic_cast<PadOfflineData*>( pd );
+            m_validation_tree.fill_hit_global_pos(pad_gpos);
+            m_validation_tree.fill_offlineid_info(*pad_offline, bin_offset);
+
+            std::pair<int,int> old_id(-999, -999), new_id(-999, -999);
+            if(determine_pad_indices_with_old_algo(*pad_offline, pad_gpos, old_id, msg())) {
+                old_id = std::make_pair(old_id.first   + bin_offset, old_id.second  + bin_offset);
+                new_id = std::make_pair(pd->padEtaId() + bin_offset, pd->padPhiId() + bin_offset);
+            }
+            m_validation_tree.fill_matched_old_id_new_id(old_id, new_id);
+        }
+    }
+}
+//------------------------------------------------------------------------------
+StatusCode PadTdsOfflineTool::gather_pad_data(std::vector<PadData*>& pads, int side, int sector) {
+    ATH_MSG_DEBUG( "gather_pad_data: start gathering the PAD hits for side " << side << ", sector " << sector );
+    // check side and sector parameters
+    if ( side <-1 || side >1 ) {
+        ATH_MSG_ERROR( "requested side " << side << " is out of range: [-1==All, 0==side C, 1==side A]");
+        return StatusCode::FAILURE;
+    }
+
+    if ( sector <-1 || sector >15 ) {
+        ATH_MSG_ERROR( "requested sector " << sector << " is out of range: [-1==All, 0 - 15]");
+        return StatusCode::FAILURE;
+    }
+    // retrieve the current run number and event number
+    const EventInfo* pevt = 0;
+    StatusCode sc = evtStore()->retrieve(pevt);
+    if ( !sc.isSuccess() ) {
+        ATH_MSG_WARNING( "Could not retrieve the EventInfo, so cannot associate run and event number to the current PAD cache" );
+        m_pad_cache_runNumber   = -1;
+        m_pad_cache_eventNumber = -1;
+    } else {
+        m_pad_cache_runNumber = pevt->event_ID()->run_number();
+        m_pad_cache_eventNumber = pevt->event_ID()->event_number();
+    }
+    if (m_pad_cache_status==CLEARED) {
+        // renew the PAD cache if this is the next event
+        m_pad_cache_status = fill_pad_cache();
+    }
+    // check the PAD cache status
+    if ( m_pad_cache_status!=OK ) {
+        ATH_MSG_ERROR ( "PAD cache is in a bad status!" );
+        return StatusCode::FAILURE;
+    }
+    // delivering the required collection
+    bool anySide = side==-1;
+    bool anySector = sector==-1;
+    if (anySide && anySector) {
+        //return the full set
+        ATH_MSG_DEBUG( "copying the full PAD hit set" );
+        for (size_t i=PadTdsOfflineTool::firstSector(); i<=PadTdsOfflineTool::lastSector(); i++)
+            pads.insert( pads.end(), m_pad_cache.at(i).begin(), m_pad_cache.at(i).end() );
+    }
+    else if (anySector and not anySide) {
+        //return all the trigger sectors for the given side
+        ATH_MSG_DEBUG( "copying the PAD hit set of all trigger sector in side " << PadTdsOfflineTool::sideLabel(side) );
+        unsigned int start = PadTdsOfflineTool::firstSector(side);
+        unsigned int stop  = PadTdsOfflineTool::lastSector(side);
+        for (size_t i=start; i<stop; i++)
+            pads.insert( pads.end(), m_pad_cache.at(i).begin(), m_pad_cache.at(i).end() );
+    }
+    else if (anySide and not anySector) {
+        // return the required trigger sectors
+        ATH_MSG_DEBUG( "copying the PAD hit set of all trigger sector " << sector << " in both side" );
+        size_t sectorA = sector+PadTdsOfflineTool::firstSectorAside();
+        size_t sectorC = sector+PadTdsOfflineTool::firstSectorCside();
+        pads.insert( pads.end(), m_pad_cache.at(sectorA).begin(), m_pad_cache.at(sectorA).end() );
+        pads.insert( pads.end(), m_pad_cache.at(sectorC).begin(), m_pad_cache.at(sectorC).end() );
+    }
+    else {
+        // return the required trigger sector
+        ATH_MSG_DEBUG("copying the PAD hit set of all trigger sector "<<sector
+                       <<" in side "<<PadTdsOfflineTool::sideLabel(side));
+        size_t sectorAorC = PadTdsOfflineTool::sectorIndex(side, sector);
+        pads.insert( pads.end(), m_pad_cache.at(sectorAorC).begin(), m_pad_cache.at(sectorAorC).end() );
+    }
+    ATH_MSG_DEBUG( "delivered n. " << pads.size() << " PAD hits." );
+    return StatusCode::SUCCESS;
+}
+//------------------------------------------------------------------------------
+PadTdsOfflineTool::cStatus PadTdsOfflineTool::fill_pad_cache() {
+    clear_cache();
+    const MuonSimDataCollection* sdo_container = 0;
+    const sTgcDigitContainer* digit_container = 0;
+    retrieve_sim_data(sdo_container);
+    if(!retrieve_digits(digit_container)) return FILL_ERROR;
+
+    sTgcDigitContainer::const_iterator it   = digit_container->begin();
+    sTgcDigitContainer::const_iterator it_e = digit_container->end();
+    ATH_MSG_DEBUG("retrieved sTGC Digit Container with size "<<digit_container->digit_size());
+
+    //int pad_hit_number = 0;
+    std::vector<PadHits> pad_hits;
+    for(; it!=it_e; ++it) {
+        const sTgcDigitCollection* coll = *it;
+        ATH_MSG_DEBUG( "processing collection with size " << coll->size() );
+        for (unsigned int item=0; item<coll->size(); item++) {
+            const sTgcDigit* digit = coll->at(item);
+            //////////////////////////////////////////////////////////////////////////////////////////
+            // ASM - 01/3/2017 - testing timing 
+            //pad_hit_number++;
+            //print_digit(digit);
+            //double delayed_time = 0.0;
+            //uint16_t BCtag = 0x0;
+            //if(determine_delay_and_bc(digit, pad_hit_number, delayed_time, BCtag)){
+            //    Identifier Id = digit->identify();
+            //    PadOfflineData* pad = new PadOfflineData(Id, delayed_time, BCtag, m_sTgcIdHelper);
+            //    pad_hits.push_back(PadHits(Id, pad, cache_index(digit)));
+            //}
+            if(digit) { 
+                if(is_pad_digit(digit)) {
+                    Identifier Id = digit->identify();
+                    // Test bcTag to make sure it's within +/- 1 BC, ref. 0xFFFF
+                    uint16_t BCP1 = 1, BC0 = 0, BCM1 = ~BCP1;
+                    if(digit->bcTag()==BCM1 || digit->bcTag()==BC0 || digit->bcTag()==BCP1) { 
+                        print_digit(digit);
+                        PadOfflineData* pad = new PadOfflineData(Id, digit->time(), digit->bcTag(), m_sTgcIdHelper);
+                        pad_hits.push_back(PadHits(Id, pad, cache_index(digit)));
+                    }
+                }
+            } 
+            //////////////////////////////////////////////////////////////////////////////////////////
+        } //for(item)
+    } // for(it)
+    //std::sort(pad_hits.begin(),pad_hits.end(),order_padHits_with_increasing_time);
+
+    ////////////////////////////////////////////////////////////////////////////////////////////
+    //// ASM - 01/3/2017 - testing timing 
+    ////// apply the other VMM functionalities
+    //print_pad_time(pad_hits, "Before VMM dead time");
+    //if(m_applyVMM_DeadTime) simulateDeadTime(pad_hits);
+    //print_pad_time(pad_hits, "After VMM dead time");
+    ////////////////////////////////////////////////////////////////////////////////////////////
+
+    store_pads(pad_hits);
+    print_pad_cache();
+    this->fill_pad_validation_id();
+    ATH_MSG_DEBUG( "fill_pad_cache: end of processing" );
+    return OK;
+}
+//------------------------------------------------------------------------------
+double PadTdsOfflineTool::computeTof(const sTgcDigit* digit) const {
+    Identifier Id = digit->identify();
+    const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id);
+    Amg::Vector2D pad_lpos;
+    rdoEl->stripPosition(Id,pad_lpos);
+    Amg::Vector3D pad_gpos;
+    rdoEl->surface(Id).localToGlobal(pad_lpos, pad_gpos, pad_gpos);
+
+    double distance = std::sqrt( pad_gpos.x()*pad_gpos.x() +
+                                 pad_gpos.y()*pad_gpos.y() +
+                                 pad_gpos.z()*pad_gpos.z() );
+
+    double c_inverse = 3.33564095198e-3;  // unit here is  [ns/mm]
+
+    return distance * c_inverse;
+}
+//------------------------------------------------------------------------------
+double PadTdsOfflineTool::computeTimeJitter() const {
+    return CLHEP::RandGauss::shoot(m_rndmEngine, 0, m_timeJitter);
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::simulateDeadTime(std::vector<PadHits>& h) const {
+
+    // create a channel map and fill it
+    PAD_MAP channel_map;
+    for (unsigned int i=0; i<h.size(); i++) {
+        Identifier pad_id = h[i].t_id;
+        PAD_MAP_IT it = channel_map.find( pad_id );
+        if ( it!=channel_map.end() ) {
+            (*it).second.push_back(h[i]);
+        } else {
+            std::vector<PadHits> tmp;
+            tmp.push_back(h[i]);
+            channel_map.insert( PAD_MAP_ITEM(pad_id,tmp) );
+        }
+    }
+
+    // vector are already ordered in time so check for dead time overlap.
+    PAD_MAP_IT it = channel_map.begin();
+    while ( it!=channel_map.end() ) {
+        std::vector<PadHits>& hits = (*it).second;
+        std::vector<PadHits>::iterator p = hits.begin();
+        while ( p!=hits.end() ) {
+            std::vector<PadHits>::iterator p_next = p+1;
+            if ( p_next!=hits.end() &&
+                 std::fabs((*p_next).t_pad->time()-(*p).t_pad->time())<=m_VMMDeadTime) {
+                // remove the PAD hits, clearing the memory for the PadOfflineData
+                delete (*p_next).t_pad;
+                p = hits.erase(p_next);
+                p = hits.begin();  // restart from the beginning
+            } else ++p;
+        }
+        ++it;
+    }
+    //once cleared the overlapping PAD hits, refill the PAD hit vector
+    h.clear();
+    it = channel_map.begin();
+    while ( it!=channel_map.end() ) {
+        std::vector<PadHits> hits = (*it).second;
+        h.insert(h.end(),hits.begin(),hits.end());
+        ++it;
+    }
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::printStgcGeometryFromAgdd() const
+{
+    if(true) {
+        // cout<<"Trying to use the geometry service"<<endl;
+        const std::vector<AGDDDetector*> &stgcList = AGDDDetectorStore::GetDetectorStore()->GetDetectorsByType("sTGC");
+        std::vector<AGDDDetector*>::const_iterator it = stgcList.begin();
+        std::vector<AGDDDetector*>::const_iterator end = stgcList.end();
+        // std::cout<<"AGDDsTGCStore::PrintAllsTGC"
+        //          <<" ("<<stgcList.size()<<" elements)"<<std::endl
+        //          <<" name \t subType \t tech"<<std::endl;
+        // for( ; it!=end; ++it) {
+        //     std::cout<<" "<<(*it)->GetName()
+        //              <<" "<<(*it)->subType()
+        //              <<" "<<(*it)->tech
+        //              <<std::endl;
+        // }
+
+    }
+}
+//------------------------------------------------------------------------------
+bool PadTdsOfflineTool::is_pad_digit(const sTgcDigit* digit) const
+{
+    return (digit &&
+            m_sTgcIdHelper->channelType(digit->identify())==0);
+}
+//------------------------------------------------------------------------------
+int PadTdsOfflineTool::cache_index(const sTgcDigit* digit) const
+{
+    Identifier Id = digit->identify();    
+    int stationEta = m_sTgcIdHelper->stationEta(Id);
+    int stationPhi = m_sTgcIdHelper->stationPhi(Id);
+    std::string stName = m_sTgcIdHelper->stationNameString(m_sTgcIdHelper->stationName(Id));
+    int isSmall = stName[2] == 'S';
+    int trigger_sector = (isSmall)? stationPhi*2-1 : stationPhi*2-2;
+    return (stationEta>0)? trigger_sector + 16 : trigger_sector;
+}
+//------------------------------------------------------------------------------
+TTree* PadTdsOfflineTool::get_tree_from_histsvc()
+{
+    TTree *tree=NULL;
+    ITHistSvc* tHistSvc=NULL;
+    m_validation_tree.clear_ntuple_variables();
+    if(service("THistSvc", tHistSvc).isFailure()) {
+        ATH_MSG_FATAL("Unable to retrieve THistSvc");
+    } else {         
+        std::string algoname = dynamic_cast<const INamedInterface*>(parent())->name();
+        std::string treename = PadTdsValidationTree::treename_from_algoname(algoname);
+        if(tHistSvc->getTree(treename, tree).isFailure()) {            
+            ATH_MSG_FATAL(("Could not retrieve the analysis ntuple "+treename+" from the THistSvc").c_str());
+        }
+    }
+    return tree;
+}
+//------------------------------------------------------------------------------
+bool PadTdsOfflineTool::determine_delay_and_bc(const sTgcDigit* digit, const int &pad_hit_number,
+                                               double &delayed_time, uint16_t &BCtag)
+{
+    bool success = false;
+    if(!digit) return success;
+    if(!is_pad_digit(digit)) return success;
+    double arrival_time = digit->time();
+    delayed_time = arrival_time;
+    if(m_applyTDS_TofSubtraction)        delayed_time -= computeTof(digit);
+    if(m_applyTDS_TimeJitterSubtraction) delayed_time -= computeTimeJitter();    
+    double capture_time = delayed_time + m_triggerCaptureWindow;
+    if((delayed_time>200 || delayed_time<-200) ||
+       (capture_time>200 || capture_time<-200) ){
+        ATH_MSG_WARNING("sTGC Pad hit "<<pad_hit_number<<" time outside of the range -200 ns / +200 ns,"
+                        " skipping it!");
+        ATH_MSG_WARNING("sTGC Pad hit "<<pad_hit_number<<": delayed time ["<<delayed_time<<" ns]"
+                        " capture time ["<<capture_time<<" ns]");
+        return success;
+    }
+    for (unsigned int i=0; i<16; i++) {
+        double bunch_start  = i*25;
+        double bunch_stop   = (i+1)*25;
+        double signal_start = delayed_time + 200;
+        double signal_stop  = capture_time + 200;
+        if ((signal_start>=bunch_start && signal_start<bunch_stop) ||
+            (signal_stop>=bunch_start && signal_stop<bunch_stop)   ){
+            BCtag = BCtag | (0x1<<i);
+            continue;
+        }
+        if(bunch_start>=signal_start && bunch_stop<signal_stop){
+            BCtag = BCtag | (0x1<<i);
+        }
+    }
+    if(msgLvl(MSG::DEBUG)){
+        std::string bctag = "";
+        uint16_t last_bit = 0x8000;
+        for(unsigned int i=0; i<16; i++)
+            if(BCtag & (last_bit>>i))
+                bctag += "1"; else bctag += "0";
+        ATH_MSG_DEBUG("sTGC Pad hit " << pad_hit_number << ":  arrival time [" << arrival_time << " ns]"
+                      << "  delayed time ["  << delayed_time << " ns]"
+                      << "  capture time ["  << capture_time << " ns]"
+                      << "  BC tag [" << bctag << "]" );
+    }
+    success = true;
+    return success;
+}
+//------------------------------------------------------------------------------
+bool PadTdsOfflineTool::retrieve_sim_data(const MuonSimDataCollection* &s)
+{
+    bool success=false;
+    StatusCode sc = evtStore()->retrieve(s, m_sTgcSdoContainer.value().c_str());
+    if ( !sc.isSuccess() ) {
+        ATH_MSG_WARNING("could not retrieve the sTGC SDO container:"
+                        " it will not be possible to associate the MC truth");
+    } else {
+        success=true;
+    }
+    return success;
+}
+//------------------------------------------------------------------------------
+bool PadTdsOfflineTool::retrieve_digits(const sTgcDigitContainer* &d)
+{
+    bool success=false;
+    StatusCode sc = evtStore()->retrieve(d, m_sTgcDigitContainer.value().c_str());
+    if ( !sc.isSuccess() ) {
+        ATH_MSG_ERROR("could not retrieve the sTGC Digit container:"
+                      " cannot return the PAD hits");
+    } else {
+        success=true;
+    }
+    return success;
+}
+//------------------------------------------------------------------------------
+bool PadTdsOfflineTool::get_truth_hits_this_pad(const Identifier &pad_id, std::vector<MuonSimData::Deposit> &deposits)
+{
+    bool success=false;
+    const MuonSimDataCollection* sdo_container = NULL;
+    if(evtStore()->retrieve(sdo_container, m_sTgcSdoContainer.value().c_str()).isSuccess()){
+        const MuonSimData pad_sdo = (sdo_container->find(pad_id))->second;
+        pad_sdo.deposits(deposits);
+        success = true;
+    } else {
+        ATH_MSG_WARNING("could not retrieve the sTGC SDO container: it will not be possible to associate the MC truth");
+    }
+    return success;
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::store_pads(const std::vector<PadHits> &pad_hits)
+{
+    for (unsigned int i=0; i<pad_hits.size(); i++) {
+        //m_pad_cache.at(pad_hits[i].t_cache_index).push_back(pad_hits[i].t_pad);
+        ////////////////////
+        // ASM-2017-06-21
+        const std::vector<PadData*>& pad = m_pad_cache.at(pad_hits[i].t_cache_index);
+        bool fill = pad.size() == 0 ? true : false;
+        for(unsigned int p=0; p<pad.size(); p++)  {
+            Identifier Id(pad.at(p)->id());
+            if(Id==pad_hits[i].t_id) {
+                fill = false;
+                ATH_MSG_ERROR( "Pad Hits entered multiple times Discarding!!! Id:" << Id );
+            }
+            else { fill = true; }
+        }
+        if( fill ) {
+            m_pad_cache.at(pad_hits[i].t_cache_index).push_back(pad_hits[i].t_pad);
+        }
+        ////////////////////
+    }
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::print_digit(const sTgcDigit* digit) const
+{
+    if(!is_pad_digit(digit)) return;
+    Identifier Id = digit->identify();    
+    std::string stName = m_sTgcIdHelper->stationNameString(m_sTgcIdHelper->stationName(Id));
+    int stationEta     = m_sTgcIdHelper->stationEta(Id);
+    int stationPhi     = m_sTgcIdHelper->stationPhi(Id);
+    int multiplet      = m_sTgcIdHelper->multilayer(Id);
+    int gas_gap        = m_sTgcIdHelper->gasGap(Id);
+    int channel_type   = m_sTgcIdHelper->channelType(Id);
+    int channel        = m_sTgcIdHelper->channel(Id);    
+    int pad_eta        = m_sTgcIdHelper->padEta(Id);
+    int pad_phi        = m_sTgcIdHelper->padPhi(Id);
+    //std::cout << "sTGC Pad hit:"
+    //<<" cache index ["<<cache_index(digit)<<"]"
+    //<<" Station Name [" <<stName          <<"]"
+    //<<" Station Eta ["  <<stationEta      <<"]"
+    //<<" Station Phi ["  <<stationPhi      <<"]"
+    //<<" Multiplet ["    <<multiplet       <<"]"
+    //<<" GasGap ["       <<gas_gap         <<"]"
+    //<<" Type ["         <<channel_type    <<"]"
+    //<<" ChNr ["         <<channel         <<"]"
+    //<<" Pad Eta ["      <<pad_eta         <<"]"
+    //<<" Pad Phi ["      <<pad_phi         <<"]" 
+    //<<" BCTag ["        <<digit->bcTag()  <<"]"
+    //<<" Id Hash ["      <<Id              <<"]" << std::endl;
+    ATH_MSG_DEBUG("sTGC Pad hit:"
+                  <<" cache index ["<<cache_index(digit)<<"]"
+                  <<" Station Name [" <<stName          <<"]"
+                  <<" Station Eta ["  <<stationEta      <<"]"
+                  <<" Station Phi ["  <<stationPhi      <<"]"
+                  <<" Multiplet ["    <<multiplet       <<"]"
+                  <<" GasGap ["       <<gas_gap         <<"]"
+                  <<" Type ["         <<channel_type    <<"]"
+                  <<" ChNr ["         <<channel         <<"]"
+                  <<" Pad Eta ["      <<pad_eta         <<"]"
+                  <<" Pad Phi ["      <<pad_phi         <<"]"
+                  <<" BCTag ["        <<digit->bcTag()  <<"]"
+                  <<" Id Hash ["      <<Id              <<"]");
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::print_pad_time(const std::vector<PadHits> &pad_hits, const std::string &msg) const
+{
+    ATH_MSG_DEBUG(msg);
+    for (size_t i=0; i<pad_hits.size(); i++)
+        ATH_MSG_DEBUG("pad hit "<<i<<" has time "<< pad_hits[i].t_pad->time());
+}
+//------------------------------------------------------------------------------
+void PadTdsOfflineTool::print_pad_cache() const
+{
+    if ( msgLvl(MSG::DEBUG) ) {
+        for (unsigned int i=0; i<m_pad_cache.size(); i++) {
+            const std::vector<PadData*>& pad = m_pad_cache.at(i);
+            for (unsigned int p=0; p<pad.size(); p++)
+                ATH_MSG_DEBUG("PAD hit cache: hit at side " << ( (pad.at(p)->sideId())? "A":"C")
+                              << ", trigger sector " << pad.at(p)->sectorId()
+                              << ", module " << pad.at(p)->moduleId()
+                              << ", multiplet " << pad.at(p)->multipletId()
+                              << ", gas gap " << pad.at(p)->gasGapId()
+                              << ", pad eta " << pad.at(p)->padEtaId()
+                              << ", pad phi " << pad.at(p)->padPhiId());
+        }
+    }
+}
+//------------------------------------------------------------------------------
+
+} // NSWL1
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.h
new file mode 100644
index 00000000000..e4e107c619b
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsOfflineTool.h
@@ -0,0 +1,185 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef PADTDSOFFLINETOOL_H
+#define PADTDSOFFLINETOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+#include "GaudiKernel/Property.h"
+#include "MuonSimData/MuonSimData.h" // cannot fw declare typedef MuonSimData::Deposit
+
+//local includes
+#include "TrigT1NSWSimTools/IPadTdsTool.h"
+#include "PadTdsValidationTree.h"
+
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class sTgcIdHelper;
+class sTgcDigit;
+class TTree;
+class MuonSimDataCollection;
+class sTgcDigitContainer;
+
+namespace CLHEP {
+class HepRandomEngine;
+}
+
+namespace MuonGM {
+class MuonDetectorManager;
+}
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+/**
+ *
+ *   @short interface for the PadTDS tools
+ *
+ * This class implements the Pad TDS offline simulation. It loops over the input digits,
+ * determines the BC tag and applies the additional processing of the VMM chip which is
+ * not yet implemented in the digitization. The loop is executed over the full digit pool
+ * once upon the first data request for an event and the PAD data are internally cached
+ * and collected per trigger sectors. The run ID and event ID are cached; the processing
+ * status is also cached to be propagated via a StatusCode at each data request.
+ *
+ * Supported processing:
+ *  Time delay simulation by subtracting the time_of_flight and the electronic random jitter;
+ *  VMM Dead Time simulation;
+ *
+ * It returns a vector of PadData to input the PadTrigger simulation.
+ *
+ *  @author Alessandro Di Mattia <dimattia@cern.ch>
+ *
+ *
+ */
+
+class PadHits;
+
+class PadTrigger;
+
+class PadTdsOfflineTool: virtual public IPadTdsTool,
+                         public AthAlgTool,
+                         public IIncidentListener {
+
+public:
+    enum cStatus {OK, FILL_ERROR, CLEARED};
+    PadTdsOfflineTool(const std::string& type,
+                      const std::string& name,
+                      const IInterface* parent);
+    virtual ~PadTdsOfflineTool();
+    virtual StatusCode initialize();
+    virtual void handle (const Incident& inc);
+    StatusCode gather_pad_data(std::vector<PadData*>& pads, int side=-1, int sector=-1);
+
+public:
+    /** @name Sector indices
+        The current convention is to have sector [0,15] on side==0
+        (side 'A') and sector [16,31] on side==1 (side 'C').
+        Use the functions below rather than hardcoded values.
+     */
+    ///@{
+    static size_t firstSector() { return 0; }
+    static size_t lastSector() { return 31; }
+    static size_t numberOfSectors() { return 32; }
+    static size_t numberOfSectorsPerSide() { return 16; }
+    static size_t firstSectorAside() { return 0; }
+    static size_t lastSectorAside() { return 15; }
+    static size_t firstSectorCside() { return 16; }
+    static size_t lastSectorCside() { return 31; }
+    static size_t firstSector(const int &side)
+        { return (side==0 ? firstSectorAside() : side==1 ? firstSectorCside() : 0); }
+    static size_t lastSector(const int &side)
+        { return (side==0 ? lastSectorAside() : side==1 ? lastSectorCside() : 0); }
+    static char sideLabel(const int &side)
+        { return (side==0 ? 'A' : side==1 ? 'C' : '?'); }
+    /** internal index. */
+    static size_t sectorIndex(const int &side, const int &sector)
+        { return side * numberOfSectorsPerSide() + sector; }
+    ///@}
+
+private:
+    // methods implementing the internal data processing
+    cStatus fill_pad_cache();                               //!< loop over the digit container, apply the additional processing then fill the cache
+    void clear_cache();                                     //!< clear the pad hit cache deleting the PadData pointers
+
+    void fill_pad_validation_id();                          //!< fill the ntuple branch for the PadTdsOffline
+
+    double computeTof(const sTgcDigit* digit) const;        //!< compute the time of flight of particle giving the PAD hit
+    double computeTimeJitter() const;                       //!< extract the time jitter t subtract from the PAD hit time
+    void   simulateDeadTime(std::vector<PadHits>& h) const; //!< simulate the dead time of the VMM
+    void printStgcGeometryFromAgdd() const; ///< test function to demonstrate the access to the AGDD parameters
+    bool get_truth_hits_this_pad(const Identifier &pad_id, std::vector<MuonSimData::Deposit> &deposits); // simhits for a given pad
+    /// get the output tree from the athena histogram service
+    TTree* get_tree_from_histsvc();
+    /// whether it's a pad digit (based on 'channelType'
+    bool is_pad_digit(const sTgcDigit* digit) const;
+    int cache_index(const sTgcDigit* digit) const;
+    /// apply time delay and determine BC tag for the hit according to the trigger capture window
+    /**
+       BC tag:  bit nr. 8 correspond to the current bunch for simulated events
+    */
+    bool determine_delay_and_bc(const sTgcDigit* digit, const int &pad_hit_number,
+                                double &delayed_time, uint16_t &BCtag);
+    bool retrieve_sim_data(const MuonSimDataCollection* &s);
+    bool retrieve_digits(const sTgcDigitContainer* &d);
+    /// store the pads in the internal pad cache
+    void store_pads(const std::vector<PadHits> &pad_hits);
+    /// print digit info (debugging)
+    void print_digit(const sTgcDigit* digit) const;
+
+    /// print time for each pad (debugging)
+    void print_pad_time(const std::vector<PadHits> &pad_hits, const std::string &msg) const;
+    /// print all info stored in the pad chache (debugging)
+    void print_pad_cache() const;
+    
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const sTgcIdHelper*                m_sTgcIdHelper;      //!< sTgc offline Id helper
+
+    // hidden variables
+    std::vector< std::vector<PadData*> > m_pad_cache;       //!< cache for the PAD hit data in the event (one per sector)
+    int     m_pad_cache_runNumber;                          //!< run number associated to the current PAD cache
+    int     m_pad_cache_eventNumber;                        //!< event number associated to the current PAD cache
+    cStatus m_pad_cache_status;                             //!< status of the current cache
+
+
+    // properties: container and service names
+    StringProperty   m_rndmEngineName;                      //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    StringProperty   m_sTgcDigitContainer;                  //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    StringProperty   m_sTgcSdoContainer;                    //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+
+    // properties: configuration
+    FloatProperty    m_VMMTimeOverThreshold;                //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    FloatProperty    m_VMMShapingTime;                      //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    FloatProperty    m_VMMDeadTime;                         //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    FloatProperty    m_triggerCaptureWindow;                //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    FloatProperty    m_timeJitter;                          //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+
+    // properties: steering flags
+    BooleanProperty  m_applyTDS_TofSubtraction;             //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    BooleanProperty  m_applyTDS_TimeJitterSubtraction;      //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    BooleanProperty  m_applyVMM_ToT;                        //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    BooleanProperty  m_applyVMM_ShapingTime;                //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    BooleanProperty  m_applyVMM_DeadTime;                   //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+
+    BooleanProperty  m_doNtuple;                            //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+
+    PadTdsValidationTree m_validation_tree;
+
+};  // end of PadTdsOfflineTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.cxx
new file mode 100644
index 00000000000..3f64df5a14d
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.cxx
@@ -0,0 +1,235 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PadTdsValidationTree.h"
+
+#include "PadOfflineData.h"
+
+#include "GaudiKernel/ITHistSvc.h"
+
+#include "TTree.h"
+
+using NSWL1::PadTdsValidationTree;
+using NSWL1::PadOfflineData;
+
+using std::string;
+
+//------------------------------------------------------------------------------
+PadTdsValidationTree::PadTdsValidationTree():
+    m_tree(NULL),
+    m_nPadHits(0),
+    m_padGlobalX(NULL),
+    m_padGlobalY(NULL),
+    m_padGlobalZ(NULL),
+    m_padDelayedTime(NULL),
+    m_padBCHR(NULL),
+    m_padGlobalCornerX(NULL),
+    m_padGlobalCornerY(NULL),
+    m_padGlobalCornerZ(NULL),
+    m_padTruthHitGlobalX(NULL),
+    m_padTruthHitGlobalY(NULL),
+    m_padTruthHitGlobalZ(NULL),
+    m_padEtaIdFromOfflineId(NULL),
+    m_padPhiIdFromOfflineId(NULL),
+    m_padSectorIdFromOfflineId(NULL),
+    m_padSectorTypeFromOfflineId(NULL),
+    m_padGasGapIdFromOfflineId(NULL),
+    m_padModuleIdFromOfflineId(NULL),
+    m_padMultipletIdFromOfflineId(NULL),
+    m_padSideIdFromOfflineId(NULL),
+    m_offlineIdPadEtaConverted(NULL),
+    m_offlineIdPadPhiConverted(NULL),
+    m_padEtaIdFromOldSimu(NULL),
+    m_padPhiIdFromOldSimu(NULL)
+{
+}
+//------------------------------------------------------------------------------
+std::string PadTdsValidationTree::treename_from_algoname(const std::string &algoname)
+{
+    string treename = algoname+"Tree";
+    return treename;    
+}
+//------------------------------------------------------------------------------
+bool PadTdsValidationTree::init_tree(TTree *tree)
+{
+    bool success=false;
+    if(tree){
+        m_tree = tree;
+        m_nPadHits = 0;
+        m_padGlobalX                  = new std::vector<float>();
+        m_padGlobalY                  = new std::vector<float>();
+        m_padGlobalZ                  = new std::vector<float>();
+        m_padDelayedTime              = new std::vector<float>();
+        m_padBCHR                     = new std::vector<int>();
+        m_padGlobalCornerX            = new std::vector<float>();
+        m_padGlobalCornerY            = new std::vector<float>();
+        m_padGlobalCornerZ            = new std::vector<float>();
+        m_padTruthHitGlobalX          = new std::vector<float>();
+        m_padTruthHitGlobalY          = new std::vector<float>();
+        m_padTruthHitGlobalZ          = new std::vector<float>();
+        m_padEtaIdFromOfflineId       = new std::vector<int>();
+        m_padPhiIdFromOfflineId       = new std::vector<int>();
+        m_padSectorIdFromOfflineId    = new std::vector<int>();
+        m_padSectorTypeFromOfflineId  = new std::vector<int>();
+        m_padGasGapIdFromOfflineId    = new std::vector<int>();
+        m_padModuleIdFromOfflineId    = new std::vector<int>();
+        m_padMultipletIdFromOfflineId = new std::vector<int>();
+        m_padSideIdFromOfflineId      = new std::vector<int>();
+        m_offlineIdPadEtaConverted    = new std::vector<int>();
+        m_offlineIdPadPhiConverted    = new std::vector<int>();
+        m_padEtaIdFromOldSimu         = new std::vector<int>();
+        m_padPhiIdFromOldSimu         = new std::vector<int>();
+
+        m_tree->Branch("nPadHits",                    &m_nPadHits,"nPadHits/i");
+        m_tree->Branch("padGlobalX",                  &m_padGlobalX);
+        m_tree->Branch("padGlobalY",                  &m_padGlobalY);
+        m_tree->Branch("padGlobalZ",                  &m_padGlobalZ);
+        m_tree->Branch("padDelayedTime",              &m_padDelayedTime);
+        m_tree->Branch("padBCHR",                     &m_padBCHR);
+        m_tree->Branch("padGlobalCornerX",            &m_padGlobalCornerX);
+        m_tree->Branch("padGlobalCornerY",            &m_padGlobalCornerY);
+        m_tree->Branch("padGlobalCornerZ",            &m_padGlobalCornerZ);
+        m_tree->Branch("padTruthHitGlobalX",          &m_padTruthHitGlobalX);
+        m_tree->Branch("padTruthHitGlobalY",          &m_padTruthHitGlobalY);
+        m_tree->Branch("padTruthHitGlobalZ",          &m_padTruthHitGlobalZ);
+        m_tree->Branch("padEtaIdFromOfflineId",       &m_padEtaIdFromOfflineId);
+        m_tree->Branch("padPhiIdFromOfflineId",       &m_padPhiIdFromOfflineId);
+        m_tree->Branch("padSectorIdFromOfflineId",    &m_padSectorIdFromOfflineId);
+        m_tree->Branch("padSectorTypeFromOfflineId",  &m_padSectorTypeFromOfflineId);
+        m_tree->Branch("padGasGapIdFromOfflineId",    &m_padGasGapIdFromOfflineId);
+        m_tree->Branch("padModuleIdFromOfflineId",    &m_padModuleIdFromOfflineId);
+        m_tree->Branch("padMultipletIdFromOfflineId", &m_padMultipletIdFromOfflineId);
+        m_tree->Branch("padSideIdFromOfflineId",      &m_padSideIdFromOfflineId);
+        m_tree->Branch("offlineIdPadEtaIdConverted",  &m_offlineIdPadEtaConverted);
+        m_tree->Branch("offlineIdPadPhiIdConverted",  &m_offlineIdPadPhiConverted);
+        m_tree->Branch("padEtaIdFromOldSimu",         &m_padEtaIdFromOldSimu);
+        m_tree->Branch("padPhiIdFromOldSimu",         &m_padPhiIdFromOldSimu);
+/**/
+        success = true;
+    }
+    return success;
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::reset_ntuple_variables()
+{
+    if(m_tree){
+        m_nPadHits = 0;
+        m_padGlobalX->clear();
+        m_padGlobalY->clear();
+        m_padGlobalZ->clear();
+        m_padDelayedTime->clear();
+        m_padBCHR->clear();
+        m_padGlobalCornerX->clear();
+        m_padGlobalCornerY->clear();
+        m_padGlobalCornerZ->clear();
+        m_padTruthHitGlobalX->clear();
+        m_padTruthHitGlobalY->clear();
+        m_padTruthHitGlobalZ->clear();
+        m_padEtaIdFromOfflineId->clear();
+        m_padPhiIdFromOfflineId->clear();
+        m_padSectorIdFromOfflineId->clear();
+        m_padSectorTypeFromOfflineId->clear();
+        m_padGasGapIdFromOfflineId->clear();
+        m_padModuleIdFromOfflineId->clear();
+        m_padMultipletIdFromOfflineId->clear();
+        m_padSideIdFromOfflineId->clear();
+        m_offlineIdPadEtaConverted->clear();
+        m_offlineIdPadPhiConverted->clear();
+        m_padEtaIdFromOldSimu->clear();
+        m_padPhiIdFromOldSimu->clear();
+    }
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::clear_ntuple_variables()
+{
+    m_nPadHits                    = 0;
+    m_padGlobalX                  = NULL;
+    m_padGlobalY                  = NULL;
+    m_padGlobalZ                  = NULL;
+    m_padDelayedTime              = NULL;
+    m_padBCHR                     = NULL;
+    m_padGlobalCornerX            = NULL;
+    m_padGlobalCornerY            = NULL;
+    m_padGlobalCornerZ            = NULL;
+    m_padTruthHitGlobalX          = NULL;
+    m_padTruthHitGlobalY          = NULL;
+    m_padTruthHitGlobalZ          = NULL;
+    m_padEtaIdFromOfflineId       = NULL;
+    m_padPhiIdFromOfflineId       = NULL;
+    m_padSectorIdFromOfflineId    = NULL;
+    m_padSectorTypeFromOfflineId  = NULL;
+    m_padGasGapIdFromOfflineId    = NULL;    
+    m_padModuleIdFromOfflineId    = NULL;    
+    m_padMultipletIdFromOfflineId = NULL;
+    m_padSideIdFromOfflineId      = NULL;
+    m_offlineIdPadEtaConverted    = NULL;
+    m_offlineIdPadPhiConverted    = NULL;
+    m_padEtaIdFromOldSimu         = NULL;
+    m_padPhiIdFromOldSimu         = NULL;
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::fill_num_pad_hits(size_t num)
+{
+    m_nPadHits = num;
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::fill_hit_global_pos(const Amg::Vector3D &pos)
+{
+    m_padGlobalX->push_back(pos.x());
+    m_padGlobalY->push_back(pos.y());
+    m_padGlobalZ->push_back(pos.z());
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::fill_hit_global_corner_pos(const std::vector<Amg::Vector3D> &pos)
+{
+    // Logic is 4-corners:
+    //   x1,y1 : Lower left (locally)
+    //   x2,y2 : Lower right (locally) s.t. y1=y2
+    //   x3,y3 : Upper left (locally)
+    //   x4,y4 : Upper right (locally) s.t. y3=y4
+    for(auto corner : pos) {
+      m_padGlobalCornerX->push_back(corner.x());
+      m_padGlobalCornerY->push_back(corner.y());
+      m_padGlobalCornerZ->push_back(corner.z());
+    }
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::fill_truth_hit_global_pos(const Amg::Vector3D &pos)
+{
+    m_padTruthHitGlobalX->push_back(pos.x());
+    m_padTruthHitGlobalY->push_back(pos.y());
+    m_padTruthHitGlobalZ->push_back(pos.z());
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::fill_offlineid_info(const PadOfflineData &o, float bin_offset)
+{
+    m_padEtaIdFromOfflineId->push_back       ( o.padEtaId() + bin_offset );
+    m_padPhiIdFromOfflineId->push_back       ( o.padPhiId() + bin_offset );
+    m_padSideIdFromOfflineId->push_back      ( o.sideId()      ); 
+    m_padModuleIdFromOfflineId->push_back    ( o.moduleId()    );
+    m_padSectorIdFromOfflineId->push_back    ( o.sectorId()    );
+    m_padSectorTypeFromOfflineId->push_back  ( o.sectorType()  );
+    m_padMultipletIdFromOfflineId->push_back ( o.multipletId() );
+    m_padGasGapIdFromOfflineId->push_back    ( o.gasGapId()    );
+    m_padDelayedTime->push_back              ( o.time()        );
+    // For debugging - use w/ CARE!!! ASM 16/3/17
+    uint16_t bc_tag = o.BC_Tag();
+    uint16_t bc_max = 0xFFFF;
+    int      bc_hr  = -999;
+    if((bc_tag >> 15) == 1) { // 400 BC 
+        bc_hr = (int) ((~bc_tag)*(-1)) - (int) bc_max - 1;
+    } else {
+        bc_hr = (int) bc_tag;
+    }
+    m_padBCHR->push_back( bc_hr );
+}
+//------------------------------------------------------------------------------
+void PadTdsValidationTree::fill_matched_old_id_new_id(const std::pair<int,int> &old_id, std::pair<int,int> &new_id)
+{
+    m_padEtaIdFromOldSimu->push_back(old_id.first );
+    m_padPhiIdFromOldSimu->push_back(old_id.second);
+    m_offlineIdPadEtaConverted->push_back(new_id.first );
+    m_offlineIdPadPhiConverted->push_back(new_id.second);
+}
+//------------------------------------------------------------------------------
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.h
new file mode 100644
index 00000000000..4d24d0dd8e3
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTdsValidationTree.h
@@ -0,0 +1,84 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef NSWL1_PADTDSVALIDATIONTREE_H
+#define NSWL1_PADTDSVALIDATIONTREE_H
+
+#include "GeoPrimitives/GeoPrimitives.h" // Amg::Vector3D (cannot fw declare typedef)
+
+#include <string>
+#include <utility> // pair
+#include <vector>
+
+class TTree;
+class Identifier;
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+class PadOfflineData;
+
+/**
+   @brief TTree maker to store the variables used to validate the input/output to the PadTdsOfflineTool.
+
+   Sept 2014
+   davide.gerbaudo@gmail.com
+ */
+class PadTdsValidationTree {
+
+public:
+    PadTdsValidationTree();
+    static std::string treename_from_algoname(const std::string &algoname);
+    /// initialize the output containers and the tree
+    /**
+       The tree should be provided by the THistSvc from Athena.
+    */
+    bool init_tree(TTree *tree);
+    void reset_ntuple_variables(); ///< clear all vectors of internal containers
+    void clear_ntuple_variables(); ///< set to 0 all pointers of internal containers
+    void fill_num_pad_hits(size_t num); ///< store the number of hits for one pad
+    void fill_hit_global_pos(const Amg::Vector3D& pos); ///< store global position of a hit
+    void fill_hit_global_corner_pos(const std::vector<Amg::Vector3D> &pos); ///< store global position of a hit
+    void fill_truth_hit_global_pos(const Amg::Vector3D& pos); ///< store global position of a truth-matched hit
+    /// store eta,phi indices + sector,layer
+    /**
+       'bin_offset' used to center the bin on the value of the Pad Id.
+       Introduced by Alessandro, it's always 0.0. Do we really need it? (DG-2014-09-30)
+     */
+    void fill_offlineid_info(const PadOfflineData &o, float bin_offset);
+    void fill_matched_old_id_new_id(const std::pair<int,int> &old_id, std::pair<int,int> &new_id);
+private:
+    std::string m_treename;
+    TTree* m_tree;                                          ///< ntuple for analysis
+    int m_nPadHits;                                         ///< number of PAD hit delivered
+    std::vector<float>* m_padGlobalX;                       ///< global position X of the PAD hit
+    std::vector<float>* m_padGlobalY;                       ///< global position Y of the PAD hit
+    std::vector<float>* m_padGlobalZ;                       ///< global position Z of the PAD hit
+    std::vector<float>* m_padDelayedTime;                   ///< delayed time of the PAD hit
+    std::vector<int>*   m_padBCHR;                          ///< human readable BC info of the PAD
+    std::vector<float>* m_padGlobalCornerX;                 ///< global position X of the PAD hit corner
+    std::vector<float>* m_padGlobalCornerY;                 ///< global position Y of the PAD hit corner 
+    std::vector<float>* m_padGlobalCornerZ;                 ///< global position Z of the PAD hit corner  
+    std::vector<float>* m_padTruthHitGlobalX;               ///< global position X of the truth hit associated to the PAD hit
+    std::vector<float>* m_padTruthHitGlobalY;               ///< global position Y of the truth hit associated to the PAD hit
+    std::vector<float>* m_padTruthHitGlobalZ;               ///< global position Z of the truth hit associated to the PAD hit
+    std::vector<int>*   m_padEtaIdFromOfflineId;            ///< PAD eta Id from the offline Id
+    std::vector<int>*   m_padPhiIdFromOfflineId;            ///< PAD phi Id from the offline Id
+    std::vector<int>*   m_padSectorIdFromOfflineId;         ///< PAD sector Id from the offline Id
+    std::vector<int>*   m_padSectorTypeFromOfflineId;       ///< PAD sector type from the offline Id
+    std::vector<int>*   m_padGasGapIdFromOfflineId;         ///< PAD gas gap Id from the offline Id
+    std::vector<int>*   m_padModuleIdFromOfflineId;         ///< PAD module Id from the offline Id
+    std::vector<int>*   m_padMultipletIdFromOfflineId;      ///< PAD multilayer Id from the offline Id
+    std::vector<int>*   m_padSideIdFromOfflineId;           ///< PAD side Id from the offline Id
+    std::vector<int>*   m_offlineIdPadEtaConverted;         ///< PAD eta Id from the offline Id that were converted
+    std::vector<int>*   m_offlineIdPadPhiConverted;         ///< PAD phi Id from the offline Id that were converted
+    std::vector<int>*   m_padEtaIdFromOldSimu;              ///< PAD eta Id from the standalone simulation code
+    std::vector<int>*   m_padPhiIdFromOldSimu;              ///< PAD phi Id from the standalone simulation code
+
+};  // PadTdsValidationTree
+
+
+} // NSWL1
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTrigger.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTrigger.cxx
new file mode 100644
index 00000000000..02f42174405
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTrigger.cxx
@@ -0,0 +1,41 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TrigT1NSWSimTools/PadTrigger.h"
+#include "TrigT1NSWSimTools/PadData.h"
+
+using NSWL1::PadData;
+
+namespace NSWL1 {
+
+BcTag_t PadTrigger::bctag() const {
+    return m_pads.size() ? m_pads[0]->BC_Tag() : 0x0;
+}
+
+// Side ID
+int PadTrigger::sideId() const {
+  return m_pads.size() ? m_pads[0]->sideId() : -1;
+} 
+
+// Sector ID
+int PadTrigger::sectorId() const {
+  return m_pads.size() ? m_pads[0]->sectorId() : -1;
+} 
+
+} // NSWL1
+
+// std::ostream& operator<<(std::ostream& stream, NSWL1::PadTrigger& pt) {
+    
+//     if(pt.m_pads.size()) {
+//         const PadData &data = *pt.m_pads[0]; // for now just grab main info from first pad
+//         stream<<"trigger build from "<<pt.m_pads.size()<<" pads"
+//               <<" band id "<<pt.m_bandid
+//               <<" with first pad: "
+//               <<data;
+//     } else {
+//         stream<<"trigger invalid (no pads)";
+//     }
+//     return stream;
+// }
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.cxx
new file mode 100644
index 00000000000..67c033a9f7f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.cxx
@@ -0,0 +1,528 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+// local includes
+#include "PadTriggerLogicOfflineTool.h"
+#include "TrigT1NSWSimTools/PadData.h"
+#include "TrigT1NSWSimTools/PadTrigger.h"
+#include "PadWithHits.h"
+#include "SectorTriggerCandidate.h"
+#include "L1TdrStgcTriggerLogic.h"
+#include "vector_utils.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// Muon software includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigitContainer.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+#include "MuonAGDDDescription/sTGCDetectorDescription.h"
+#include "MuonAGDDDescription/sTGCDetectorHelper.h"
+// trk
+#include "TrkSurfaces/PlaneSurface.h"
+#include "TrkSurfaces/TrapezoidBounds.h"
+
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+// local includes
+#include "PadUtil.h"
+#include "vector_utils.h"
+// root
+#include "TTree.h"
+#include "TVector3.h"
+// std
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility> // make_pair
+
+using namespace std;
+using nsw::PadWithHits;
+
+namespace NSWL1 {
+
+//------------------------------------------------------------------------------
+PadTriggerLogicOfflineTool::PadTriggerLogicOfflineTool( const std::string& type,
+                                                        const std::string& name,
+                                                        const IInterface* parent) :
+    AthAlgTool(type,name,parent),
+    m_incidentSvc("IncidentSvc",name),
+    m_rndmSvc("AtRndmGenSvc",name),
+    m_rndmEngine(0),
+    m_detManager(0),
+    // m_sTgcIdHelper(0),
+    m_pad_cache_runNumber(-1),
+    m_pad_cache_eventNumber(-1),
+    // m_pad_cache_status(CLEARED),
+    m_rndmEngineName(""),
+    m_sTgcDigitContainer(""),
+    m_sTgcSdoContainer(""),
+    m_PadEfficiency(0.0),
+    m_useSimple4of4(false),
+    m_doNtuple(false),
+    m_missingDetectorManagerErrorCounter(0),
+    m_missingReadoutElementErrorCounter(0)
+{
+    declareInterface<NSWL1::IPadTriggerLogicTool>(this);
+    declareProperty("RndmEngineName", m_rndmEngineName = "PadTriggerLogicOfflineTool", "the name of the random engine");
+    declareProperty("sTGC_DigitContainerName", m_sTgcDigitContainer = "sTGC_DIGITS", "the name of the sTGC digit container");
+    declareProperty("sTGC_SdoContainerName", m_sTgcSdoContainer = "sTGC_SDO", "the name of the sTGC SDO container");
+    declareProperty("TimeJitter", m_PadEfficiency = 1.0, "pad trigger efficiency (tmp placeholder)");
+    declareProperty("UseSimple4of4", m_useSimple4of4 = false, "use simplified logic requiring 4 hits on 4 gas gaps");
+    declareProperty("DoNtuple", m_doNtuple = false, "save the trigger outputs in an analysis ntuple");
+
+    // DG-todo // reserve enough slots for the trigger sectors and fills empty vectors
+    // DG-todo m_pad_cache.reserve(32);
+    // DG-todo std::vector< std::vector<PadData*> >::iterator it = m_pad_cache.begin();
+    // DG-todo m_pad_cache.insert(it,32,std::vector<PadData*>());
+}
+//------------------------------------------------------------------------------
+PadTriggerLogicOfflineTool::~PadTriggerLogicOfflineTool() {
+    // clear the internal cache
+    // this->clear_cache();
+}
+//------------------------------------------------------------------------------
+// void PadTriggerLogicOfflineTool::clear_cache() {
+//     for (std::vector<PadData*> &sector_pads : m_pad_cache) {
+//         for (unsigned int p=0; p< sector_pads.size(); p++) {
+//             delete sector_pads.at(p);
+//         }
+//         sector_pads.clear();
+//     }
+// }
+//------------------------------------------------------------------------------
+StatusCode PadTriggerLogicOfflineTool::initialize() {
+    ATH_MSG_INFO( "initializing " << name() );
+    ATH_MSG_INFO( name() << " configuration:");
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left)<< m_rndmEngineName.name() << m_rndmEngineName.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left)<< m_sTgcDigitContainer.name() << m_sTgcDigitContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left)<< m_sTgcSdoContainer.name() << m_sTgcSdoContainer.value());
+    // DG-todo print out other parameters
+
+    const IInterface* parent = this->parent();
+    const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+    std::string algo_name = pnamed->name();
+
+    if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        if(TTree *tree = get_tree_from_histsvc()){
+            m_validation_tree.init_tree(tree);
+        } else {
+            ATH_MSG_FATAL("Cannot book requested output tree");
+            return StatusCode::FAILURE;
+        }
+    }
+    // retrieve the Incident Service
+    if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+    }
+    m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+    // retrieve the Random Service
+    if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+    }
+
+    // retrieve the random engine
+    m_rndmEngine = m_rndmSvc->GetEngine(m_rndmEngineName);
+    if (m_rndmEngine==0) {
+        ATH_MSG_FATAL("Could not retrieve the random engine " << m_rndmEngineName);
+        return StatusCode::FAILURE;
+    }
+
+    //  retrieve the MuonDetectormanager
+    if( detStore()->retrieve( m_detManager ).isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+        return StatusCode::FAILURE;
+    } else {
+        ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+    }
+
+// DG-todo    //  retrieve the sTGC offline Id helper
+// DG-todo    if( detStore()->retrieve( m_sTgcIdHelper ).isFailure() ){
+// DG-todo        //--ATH_MSG_FATAL("Failed to retrieve sTgcIdHelper");
+// DG-todo        return StatusCode::FAILURE;
+// DG-todo    } else {
+// DG-todo        //--ATH_MSG_INFO("sTgcIdHelper successfully retrieved");
+// DG-todo    }
+// DG-todo
+
+    return StatusCode::SUCCESS;
+}
+//------------------------------------------------------------------------------
+void PadTriggerLogicOfflineTool::handle(const Incident& inc) {
+    if( inc.type()==IncidentType::BeginEvent ) {
+        // this->clear_cache();
+        m_validation_tree.reset_ntuple_variables();
+        // m_pad_cache_status = CLEARED;
+    }
+}
+//------------------------------------------------------------------------------
+
+// //! filter a vector (remove elements for which Predicate is true)
+// template < template <typename, typename> class Container,
+//            typename Predicate,
+//            typename Allocator,
+//            typename A
+//            >
+// Container<A, Allocator> filter(Container<A, Allocator> const & container, Predicate const & pred) {
+//     Container<A, Allocator> filtered(container);
+//     filtered.erase(remove_if(filtered.begin(), filtered.end(), pred), filtered.end());
+//     return filtered;
+// }
+
+///! helper function: copy pads with a given multiplet
+std::vector<PadData*> filterByMultiplet(const std::vector<PadData*> &pads_in, const int &multiplet) {
+    std::vector<PadData*> pads_out;
+    pads_out.reserve(0.5*pads_in.size()); // educated guess (half inner multiplet, half outer multiplet)
+    for(PadData* p : pads_in)
+        if(p->multipletId()==multiplet)
+            pads_out.push_back(p);
+    return pads_out;
+}
+///! helper function: copy pads with a given gas gap
+std::vector<PadData*> filterByGasGap(const std::vector<PadData*> &pads_in, const int &gasgap) {
+    std::vector<PadData*> pads_out;
+    pads_out.reserve(0.25*pads_in.size()); // educated guess (4 gas gaps)
+    for(PadData* p : pads_in)
+        if(p->gasGapId()==gasgap)
+            pads_out.push_back(p);
+    return pads_out;
+}
+
+std::vector<PadTrigger*> PadTriggerLogicOfflineTool::build4of4SingleWedgeTriggers(const std::vector<PadData*> &pads) {
+    // dummy function: just count four pads on 4 different layers with ieta, iphi == i or i+1
+    std::vector<PadData*> padsLayer0 = filterByGasGap(pads, 1);
+    std::vector<PadData*> padsLayer1 = filterByGasGap(pads, 2);
+    std::vector<PadData*> padsLayer2 = filterByGasGap(pads, 3);
+    std::vector<PadData*> padsLayer3 = filterByGasGap(pads, 4);
+    std::vector<PadTrigger*> triggers;
+    for(const PadData* p0 : padsLayer0){
+        int p0ieta = p0->padEtaId();
+        int p0iphi = p0->padPhiId();
+        for(const PadData* p1 : padsLayer1){
+            int p1ieta = p1->padEtaId();
+            int p1iphi = p1->padPhiId();
+            bool p0_p1_match = ((p1ieta == p0ieta || p1ieta == p0ieta+1 ) &&
+                                (p1iphi == p0iphi || p1iphi == p0iphi+1 ) );
+            if(not p0_p1_match) continue;
+            for(const PadData* p2 : padsLayer2){
+                int p2ieta = p2->padEtaId();
+                int p2iphi = p2->padPhiId();
+                bool p1_p2_match = ((p2ieta == p1ieta || p2ieta == p1ieta+1 ) &&
+                                    (p2iphi == p1iphi || p2iphi == p1iphi+1 ) );
+                if(not p1_p2_match) continue;
+                for(const PadData* p3 : padsLayer3){
+                    int p3ieta = p3->padEtaId();
+                    int p3iphi = p3->padPhiId();
+                    bool p2_p3_match = ((p3ieta == p2ieta || p3ieta == p2ieta+1 ) &&
+                                        (p3iphi == p2iphi || p3iphi == p2iphi+1 ) );
+                    if(p2_p3_match){
+                        PadTrigger* trigger = new PadTrigger();
+                        trigger->m_pads.push_back(p0);
+                        trigger->m_pads.push_back(p1);
+                        trigger->m_pads.push_back(p2);
+                        trigger->m_pads.push_back(p3);
+                        triggers.push_back(trigger);
+                    }
+                } // for(p3)
+            } // for(p2)
+        } // for(p1)
+    } // for(p0)
+    return triggers;
+}
+////------------------------------------------------------------------------------
+//nsw::PadWithHits PadTriggerLogicOfflineTool::convert(const PadData &pd)
+//{
+//    PadWithHits pwh(pd);
+//    //PadWithHits pwh(pd.padEtaId(), pd.padPhiId(),
+//    //                pd.multipletId(),
+//    //                pd.gasGapId(), pd.sectorId(), pd.sideId());
+//    return pwh;
+//}
+//------------------------------------------------------------------------------
+StatusCode PadTriggerLogicOfflineTool::compute_pad_triggers(const std::vector<PadData*>& pads,
+                                                            std::vector<PadTrigger*> &triggers)
+{
+    ATH_MSG_DEBUG(" <N> receiving "<<pads.size()<<" pad data");
+    ATH_MSG_DEBUG("calling compute_pad_triggers() (pads.size() "<<pads.size()<<")");
+    for(const PadData *pad : pads){
+        ATH_MSG_DEBUG(" <N> building trig from pad "
+                      <<" side "<<pad->sideId()<<""
+                      <<", sector "<<pad->sectorId()
+                      <<", sector type "<<pad->sectorType()
+                      <<", module "<<pad->moduleId()
+                      <<", multiplet "<<pad->multipletId()
+                      <<", gas gap "<<pad->gasGapId()
+                      <<", pad eta "<<pad->padEtaId()
+                      <<", pad phi "<<pad->padPhiId());
+    }
+    const vector<size_t> sides = {0, 1}; // see PadTdsOfflineTool::sideLabel()
+    const vector<size_t> sectors = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
+    for(const size_t &side : sides){
+        for(const size_t &sector : sectors){
+            vector<PadData*> sector_pads;
+            copy_if(pads.begin(), pads.end(),
+                    back_inserter(sector_pads),
+                    [&](const PadData* p) { return (p->sideId()==static_cast<int>(side) &&
+                                                    (2*p->sectorId()-1-p->sectorType())==static_cast<int>(sector));});
+
+            if(sector_pads.size()){
+                const PadData* firstPad = sector_pads[0];
+                ATH_MSG_DEBUG("<N> side "
+                              <<(firstPad->sideId()==0?"A":"C")
+                              <<" trigger sector "<< (2*firstPad->sectorId()-1-firstPad->sectorType())
+                              <<" : "<<sector_pads.size()<<" pads");
+                if(m_useSimple4of4) {
+                    const int innerMultiplet(1), outerMultiplet(2); // DG-2015-10-07 move to enum?
+                    vector<PadData*> padsInner(filterByMultiplet(sector_pads, innerMultiplet));
+                    vector<PadData*> padsOuter(filterByMultiplet(sector_pads, outerMultiplet));
+                    vector<PadTrigger*> triggersInner = build4of4SingleWedgeTriggers(padsInner);
+                    vector<PadTrigger*> triggersOuter = build4of4SingleWedgeTriggers(padsOuter);
+                    ATH_MSG_DEBUG("found "
+                                  <<triggersInner.size()<<" inner triggers"
+                                  <<" and "
+                                  <<triggersOuter.size()<<" outer triggers");
+                    triggers.reserve(triggers.size() + triggersInner.size()+triggersOuter.size());
+                    triggers.insert(triggers.end(), triggersInner.begin(), triggersInner.end());
+                    triggers.insert(triggers.end(), triggersOuter.begin(), triggersOuter.end());
+                } else {
+                    vector<PadWithHits> pwhs;
+                    for(const PadData *p : sector_pads){
+                        PadWithHits pwh(*p);
+                        fillGeometricInformation(*p,pwh);
+                        pwhs.push_back(pwh);
+                        //pwhs.push_back(convert(*p));
+                    }
+                    nsw::L1TdrStgcTriggerLogic tdrLogic;
+                    tdrLogic.m_writePickle = false;
+                    tdrLogic.m_verbose = true;
+                    tdrLogic.buildSectorTriggers(pwhs, nsw::indices(pwhs));
+                    for(const nsw::SectorTriggerCandidate &st : tdrLogic.candidates())
+                        triggers.push_back(new PadTrigger(convert(st)));
+                    ATH_MSG_DEBUG("found "<<tdrLogic.candidates().size()<<" triggers using the tdr logic");
+                }
+            } // if(sector_pads)
+        } // for(sector)
+    } // for(side)
+    // Fill Ntuple
+    if(m_doNtuple) {
+      m_validation_tree.fill_num_pad_triggers(triggers.size());
+      //if(triggers.size()>0)
+      //  ATH_MSG_INFO("SERHAN :: " << triggers.at(0)->m_pads.size());
+      m_validation_tree.fill_pad_trigger_basics(triggers);
+    }
+    return StatusCode::SUCCESS;
+}
+//------------------------------------------------------------------------------
+TTree* PadTriggerLogicOfflineTool::get_tree_from_histsvc()
+{
+    TTree *tree = nullptr;
+    ITHistSvc* tHistSvc=NULL;
+    m_validation_tree.clear_ntuple_variables();
+    if(service("THistSvc", tHistSvc).isFailure()) {
+        //--ATH_MSG_FATAL("Unable to retrieve THistSvc");
+    } else {
+        std::string algoname = dynamic_cast<const INamedInterface*>(parent())->name();
+        std::string treename = PadTriggerValidationTree::treename_from_algoname(algoname);
+        if(tHistSvc->getTree(treename, tree).isFailure()) {
+            ATH_MSG_FATAL(("Could not retrieve the analysis ntuple "+treename+" from the THistSvc").c_str());
+        }
+    }
+    return tree;
+}
+//------------------------------------------------------------------------------
+bool PadTriggerLogicOfflineTool::fillGeometricInformation(const PadData &pd, PadWithHits &pwh)
+{
+    bool success = false;
+    const int maxNumberOfMessages = 100;
+    if(m_detManager){
+        Identifier Id( pd.id() );
+        if(const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id)){
+            ///////// << == NEW  - ASM-2016-04-25
+            const Trk::PlaneSurface &surface = rdoEl->surface(Id);
+            std::vector<Amg::Vector2D> local_pad_corners;
+            rdoEl->padCorners(Id,local_pad_corners);
+            pwh.m_loLocalY = local_pad_corners[0][1];
+            pwh.m_hiLocalY = local_pad_corners[2][1];
+            Amg::Vector3D pad_corner_global;
+            float corner_positions[4][3] = {{0.}};
+            for(unsigned int i=0; i<4; i++) {
+              //std::cout << "SERHAN :: Local Pad corners are x = " << local_pad_corners[i][0] 
+              //                                         << " y = " << local_pad_corners[i][1]
+              //                                         << std::endl;
+              surface.localToGlobal(local_pad_corners.at(i), pad_corner_global, pad_corner_global);
+              corner_positions[i][0] = pad_corner_global.x(); 
+              corner_positions[i][1] = pad_corner_global.y(); 
+              corner_positions[i][2] = pad_corner_global.z(); 
+              //std::cout << "SERHAN :: Gloabal Pad corners are x = " << corner_positions[i][0] 
+              //                                           << " y = " << corner_positions[i][1]
+              //                                           << " z = " << corner_positions[i][2]   
+              //                                           << std::endl;
+            }
+            pwh.fillCornerCoords(corner_positions);
+            ///////// << == NEW  - ASM-2016-04-25
+            ///////// << == OLD  - ASM-2016-04-25
+            //const Trk::PlaneSurface &surface = rdoEl->surface(Id);
+            //const Trk::TrapezoidBounds &bounds = static_cast<Trk::TrapezoidBounds const &>(rdoEl->bounds(Id));
+            ///**
+            //   @todo DG-2015-10-08 fix pad corners
+            //   I am almost sure this is wrong...for now just putting a
+            //   placeholder. We are not using the corners but we were
+            //   in the TDR.
+            //   See TrapezoidBounds docs at
+            //   http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/TrkSurfaces/html/index.html
+            //*/
+            //Amg::Vector2D pad_lpos;
+            //Amg::Vector3D pad_gpos;
+            //rdoEl->stripPosition(Id,pad_lpos); // shouldn't this be padPosition? DG 2014-01-17
+            //surface.localToGlobal(pad_lpos, pad_gpos, pad_gpos);
+            //// ATH_MSG_DEBUG("pad geo: loc "<<pad_lpos<<" glob "<<pad_gpos<<" bounds "<<bounds);
+            //float loHeight = pad_lpos.y() - bounds.halflengthY();
+            //float hiHeight = pad_lpos.y() + bounds.halflengthY();
+            //float loPhi = atan2(pad_lpos.y() - bounds.halflengthY(), pad_lpos.x() - bounds.minHalflengthX());
+            //float hiPhi = atan2(pad_lpos.y() + bounds.halflengthY(), pad_lpos.x() + bounds.maxHalflengthX());
+            //float zPos = pad_gpos.z();
+            //float angleToSec5 = 0.0; // DG-2015-01-08 is this always true in local coords?
+            //pwh.fillCornerCoords(loHeight, hiHeight, loPhi, hiPhi, zPos, angleToSec5);
+            ///////// << == OLD  - ASM-2016-04-25
+        } else {
+            if(m_missingReadoutElementErrorCounter < maxNumberOfMessages)
+                ATH_MSG_ERROR("fillGeometricInformation: missing detManager "
+                              <<m_missingReadoutElementErrorCounter<<"/"<<maxNumberOfMessages);
+            m_missingReadoutElementErrorCounter++;
+        }
+    } else {
+        if(m_missingDetectorManagerErrorCounter < maxNumberOfMessages)
+            ATH_MSG_ERROR("fillGeometricInformation: missing detManager "
+                          <<m_missingDetectorManagerErrorCounter<<"/"<<maxNumberOfMessages);
+        m_missingDetectorManagerErrorCounter++;
+    }
+    return success;
+}
+//------------------------------------------------------------------------------
+NSWL1::PadTrigger PadTriggerLogicOfflineTool::convert(const nsw::SectorTriggerCandidate &t)
+{
+    PadTrigger pt;
+    pt.m_eta    = t.triggerRegion().eta();
+    pt.m_phi    = t.triggerRegion().phi();
+    // ASM-2016-10-04 currently we compute one bandId for the inner-most single-wedge candidate
+    // Shall we return a bandId per pad layer??
+    pt.m_pad_strip_info.clear();
+    std::vector<float> m_pad_info; 
+    const nsw::SingleWedgePadTrigger& swt = t.wedgeTrigs()[0];
+    pt.m_bandid = swt.halfPadCoordinates().ieta; 
+    pt.m_eta_id = swt.halfPadCoordinates().ieta;
+    pt.m_phi_id = swt.halfPadCoordinates().iphi;
+    for(const nsw::SingleWedgePadTrigger& swt : t.wedgeTrigs()){
+        for(const nsw::PadWithHits &p : swt.pads()){
+            if(p.m_padData) {
+                pt.m_pads.push_back(p.m_padData);
+                // Hack for pad<=>strip until we fix 
+                m_pad_info.clear();
+                m_pad_info.push_back(p.m_padData->multipletId());
+                m_pad_info.push_back(p.m_padData->gasGapId());
+                m_pad_info.push_back(p.m_loLocalY);
+                m_pad_info.push_back(p.m_hiLocalY);
+                pt.m_pad_strip_info.push_back(m_pad_info);
+                //cout << "PadStrip Info " << m_pad_info[0] << " " 
+                //                         << m_pad_info[1] << " "
+                //                         << m_pad_info[2] << " "
+                //                         << m_pad_info[3] << endl;
+            }
+            else
+                cerr<<"PadTriggerLogicOfflineTool::convert: do not push back null pointers"<<endl;
+        } // for(p)
+    } // for (st)
+    //cout << "PadStrip :: " << pt.m_pad_strip_info.size() << endl;
+    // Offset to BandId - get from the first pad in the trigger
+    sTGCDetectorHelper sTGC_helper;
+    sTGCDetectorDescription *sTGC=nullptr;
+    char side      = pt.m_pads.at(0)->sideId()     == 0 ? 'C' : 'A';
+    char type      = pt.m_pads.at(0)->sectorType() == 0 ? 'S' : 'L';
+    int stationEta = pt.m_pads.at(0)->moduleId(); //if ( side == 'C' ) stationEta *= -1;
+    int stationPhi = pt.m_pads.at(0)->sectorId();
+    int layer      = pt.m_pads.at(0)->multipletId();
+    sTGC = sTGC_helper.Get_sTGCDetector(type,stationEta,stationPhi,layer,side); 
+    if(sTGC == nullptr) {
+        cerr<<"PadTriggerLogicOfflineTool::convert :: Could not find detector, no trigger bandid offset being applied"<<endl;  
+    }
+    else {
+        sTGCReadoutParameters  roParams=sTGC->GetReadoutParameters();
+        pt.m_bandid += roParams.firstTriggerBand.at(pt.m_pads.at(0)->gasGapId()+1);
+    }
+    pt.m_multiplet_id = pt.m_pads.at(0)->multipletId(); 
+    pt.m_gasGap_id    = pt.m_pads.at(0)->gasGapId();
+// << ASM-2016-10-03 == Need to re-implement correctly!!!
+// << ASM-2016-10-03 == Need to re-implement correctly!!!
+// << ASM-2016-10-03 == Need to re-implement correctly!!!
+//    if(t.wedgeTrigs().size()==1) {
+//        /// DG-2015-12-10 for now only worry about this simple case; discuss with Jake & Serhan the other cases
+//        const nsw::SingleWedgePadTrigger& swt = t.wedgeTrigs()[0];
+//        pt.m_bandid = swt.halfPadCoordinates().ieta;
+//        /// ASM-2016-01-28 add the offset using Jake's logic in StripTdsOfflineTool
+//        cout<<"PadTriggerLogicOfflineTool::convert :: ========================================= " <<endl;
+//        cout<<"PadTriggerLogicOfflineTool::convert :: Trigger bandid before offset " << pt.m_bandid<<endl;
+//        //for(auto &paddata : pt.m_pads) {
+//        //    cout<<"PadTriggerLogicOfflineTool::convert Pad side " << paddata->sideId()
+//        //    << " module "    << paddata->moduleId()
+//        //    << " sector "    << paddata->sectorId()
+//        //    << " multiplet " << paddata->multipletId()
+//        //    << " gasGapId "  << paddata->gasGapId()
+//        //    << " channelId " << paddata->channelId()
+//        //    << " padEtaId "  << paddata->padEtaId()
+//        //    << " padPhiId "  << paddata->padPhiId() << endl;
+//        //} 
+//        char type = ((pt.m_pads.at(0)->sectorId() + 1) % 2)==1 ? 'S' : 'L'; // Even : S - Odd : L
+//        int stationEta = pt.m_pads.at(0)->moduleId() + 1;
+//        int stationPhi = type == 'S' ? (pt.m_pads.at(0)->sectorId() + 1)*0.5 : (pt.m_pads.at(0)->sectorId() + 2)*0.5;
+//        int layer = pt.m_pads.at(0)->gasGapId();
+//        //cout<<"PadTriggerLogicOfflineTool::convert :: Station Eta " << stationEta << " Station Phi " << stationPhi << " Layer " << layer <<endl;
+//        sTGCDetectorHelper sTGC_helper;
+//        sTGCDetectorDescription *sTGC=0;
+//        sTGC = sTGC_helper.Get_sTGCDetector(type,stationEta,stationPhi); 
+//        if(!sTGC) {
+//            cerr<<"PadTriggerLogicOfflineTool::convert :: Could not find detector, no trigger bandid offset being applied"<<endl;  
+//        }
+//        else {
+//            sTGCReadoutParameters  roParams=sTGC->GetReadoutParameters();
+//            pt.m_bandid += roParams.firstTriggerBand.at(layer); // Layer
+//        }
+//        cout<<"PadTriggerLogicOfflineTool::convert :: Trigger bandid after offset " << pt.m_bandid<<endl;
+//        cout<<"PadTriggerLogicOfflineTool::convert :: ========================================= " <<endl;
+//        /// end of ASM-2016-01-28
+//
+//    } else if(t.wedgeTrigs().size()>1) {
+//        cerr<<"bandId not yet implemented for triggers with inner and outer;"
+//            <<" (got "<<t.wedgeTrigs().size()<<" SingleWedgePadTrigger)"<<endl;
+//    } else {
+//        cerr<<"got a trigger with "<<t.wedgeTrigs().size()<<" SingleWedgePadTrigger)...probably wrong"<<endl;
+//    }
+// << ASM-2016-10-03 == Need to re-implement correctly!!!
+// << ASM-2016-10-03 == Need to re-implement correctly!!!
+// << ASM-2016-10-03 == Need to re-implement correctly!!!
+    return pt;
+}
+//------------------------------------------------------------------------------
+
+
+} // NSWL1
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.h
new file mode 100644
index 00000000000..6d11ec2e26d
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerLogicOfflineTool.h
@@ -0,0 +1,140 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef NSWL1_PADTRIGGERLOGICOFFLINETOOL_H
+#define NSWL1_PADTRIGGERLOGICOFFLINETOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+#include "GaudiKernel/Property.h"
+
+//local includes
+#include "TrigT1NSWSimTools/IPadTriggerLogicTool.h"
+#include "PadTriggerValidationTree.h"
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+// class sTgcIdHelper;
+// class sTgcDigit;
+class TTree;
+// class MuonSimDataCollection;
+class sTgcDigitContainer;
+
+namespace CLHEP {
+class HepRandomEngine;
+}
+
+namespace MuonGM {
+class MuonDetectorManager;
+}
+
+namespace nsw {
+class PadWithHits;
+class SectorTriggerCandidate;    
+}
+namespace NSWL1 {
+
+/**
+
+   @short Simulation of the pad trigger
+
+   // DG--todo This class implements the Pad TDS offline simulation. It loops over the input digits,
+   // DG--todo determines the BC tag and applies the additional processing of the VMM chip which is
+   // DG--todo not yet implemented in the digitization. The loop is executed over the full digit pool
+   // DG--todo once upon the first data request for an event and the PAD data are internally cached
+   // DG--todo and collected per trigger sectors. The run ID and event ID are cached; the processing
+   // DG--todo status is also cached to be propagated via a StatusCode at each data request.
+   // DG--todo
+   // DG--todo Supported processing:
+   // DG--todo Time delay simulation by subtracting the time_of_flight and the electronic random jitter;
+   // DG--todo VMM Dead Time simulation;
+   // DG--todo
+   // DG--todo It returns a vector of PadData to input the PadTrigger simulation.
+
+   davide.gerbaudo@gmail.com
+   Oct 2015
+
+*/
+
+class PadTrigger;
+
+class PadTriggerLogicOfflineTool:
+        virtual public IPadTriggerLogicTool,
+        public AthAlgTool,
+        public IIncidentListener {
+public:
+    enum CacheStatus {OK, FILL_ERROR, CLEARED};
+    PadTriggerLogicOfflineTool(const std::string& type,
+                      const std::string& name,
+                      const IInterface* parent);
+    virtual ~PadTriggerLogicOfflineTool();
+    virtual StatusCode initialize();
+    virtual void handle (const Incident& inc);
+
+    StatusCode compute_pad_triggers(const std::vector<PadData*>& pads, std::vector<PadTrigger*> &triggers);
+
+    /**
+       @brief simplified trigger: require 4 aligned pads on 4 subsequent layers
+       This is meant mainly to test the machinery.
+       See test/test_4on4padTrigger.cxx
+     */
+    static std::vector<PadTrigger*> build4of4SingleWedgeTriggers(const std::vector<PadData*> &pads);
+    ///// from PadData to the TDR-style PadWithHits
+    //static nsw::PadWithHits convert(const PadData &pd);
+    /**
+       @brief transfer the geometric info from PadData to PadWithHits
+       Note: it needs to access the MuonDetectorManager
+     */
+    bool fillGeometricInformation(const PadData &pd, nsw::PadWithHits &pwh);
+    /// from TDR-style SectorTriggerCandidate to PadTrigger
+    static NSWL1::PadTrigger convert(const nsw::SectorTriggerCandidate &t);
+private:
+    /// get the output tree from the athena histogram service
+    TTree* get_tree_from_histsvc();
+    // // methods implementing the internal data processing
+    // CacheStatus fill_pad_cache();                           //!< loop over the digit container, apply the additional processing then fill the cache
+    // void clear_cache();                                     //!< clear the pad hit cache deleting the PadData pointers
+
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    // DG-2015-10-02 probably not needed
+    // const sTgcIdHelper*                m_sTgcIdHelper;      //!< sTgc offline Id helper
+
+    // \todo
+    // DG-2015-10-02 : can probably get rid of all this caching below
+
+    // hidden variables
+    // std::vector< std::vector<PadData*> > m_pad_cache;       //!< cache for the PAD hit data in the event (one per sector)
+    int     m_pad_cache_runNumber;                          //!< run number associated to the current PAD cache
+    int     m_pad_cache_eventNumber;                        //!< event number associated to the current PAD cache
+    // CacheStatus m_pad_cache_status;                         //!< status of the current cache
+
+
+    // properties: container and service names
+    StringProperty   m_rndmEngineName;                      //!< property, todo
+    StringProperty   m_sTgcDigitContainer;                  //!< property, todo
+    StringProperty   m_sTgcSdoContainer;                    //!< property, todo
+
+    // properties: configuration
+    FloatProperty    m_PadEfficiency;                       //!< property, todo
+
+    // properties: steering flags
+    BooleanProperty  m_useSimple4of4;                       //!< property, todo
+    BooleanProperty  m_doNtuple;                            //!< property, todo
+
+    PadTriggerValidationTree m_validation_tree;
+    size_t m_missingDetectorManagerErrorCounter;            ///< how many times we errored b/c of missing m_detManager
+    size_t m_missingReadoutElementErrorCounter;             ///< how many times we errored b/c of missing sTgcReadoutElement
+};  // end of PadTriggerLogicOfflineTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.cxx
new file mode 100644
index 00000000000..01aa49c53a2
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.cxx
@@ -0,0 +1,220 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PadTriggerValidationTree.h"
+
+#include "TrigT1NSWSimTools/PadTrigger.h"
+
+#include "GaudiKernel/ITHistSvc.h"
+
+#include "TTree.h"
+
+using NSWL1::PadTriggerValidationTree;
+using NSWL1::PadTrigger;
+
+using std::string;
+
+//------------------------------------------------------------------------------
+PadTriggerValidationTree::PadTriggerValidationTree():
+    m_tree(NULL),
+    m_nPadTriggers(0),
+    m_padTriggerBCID(NULL),
+    m_padTriggerSectorID(NULL),
+    m_padTriggerSideID(NULL),
+    m_padTriggerBandID(NULL),
+    m_padTriggerEta(NULL),
+    m_padTriggerPhi(NULL),
+    m_padTriggerEtaID(NULL),
+    m_padTriggerPhiID(NULL),
+    m_padTriggerMultipletID(NULL),
+    m_padTriggerGasGapID(NULL)
+    // m_nPadHits(0),
+    // m_padGlobalX(NULL),
+    // m_padGlobalY(NULL),
+    // m_padGlobalZ(NULL),
+    // m_padTruthHitGlobalX(NULL),
+    // m_padTruthHitGlobalY(NULL),
+    // m_padTruthHitGlobalZ(NULL),
+    // m_padEtaIdFromOfflineId(NULL),
+    // m_padPhiIdFromOfflineId(NULL),
+    // m_padSectorFromOfflineId(NULL),
+    // m_padLayerFromOfflineId(NULL),
+    // m_offlineIdPadEtaConverted(NULL),
+    // m_offlineIdPadPhiConverted(NULL),
+    // m_padEtaIdFromOldSimu(NULL),
+    // m_padPhiIdFromOldSimu(NULL)
+{
+}
+//------------------------------------------------------------------------------
+std::string PadTriggerValidationTree::treename_from_algoname(const std::string &algoname)
+{
+    string treename = algoname+"Tree";
+    return treename;    
+}
+//------------------------------------------------------------------------------
+bool PadTriggerValidationTree::init_tree(TTree *tree)
+{
+    bool success=false;
+    if(tree){
+        m_tree = tree;
+        m_nPadTriggers       = 0;
+        m_padTriggerBCID     = new std::vector<unsigned int>();
+        m_padTriggerSectorID = new std::vector<int>();
+        m_padTriggerSideID   = new std::vector<int>();
+        m_padTriggerBandID   = new std::vector<unsigned int>();
+        m_padTriggerEta      = new std::vector<float>();
+        m_padTriggerPhi      = new std::vector<float>();
+        m_padTriggerEtaID    = new std::vector<int>();
+        m_padTriggerPhiID    = new std::vector<int>();
+        m_padTriggerMultipletID = new std::vector<int>();
+        m_padTriggerGasGapID    = new std::vector<int>();
+        // m_nPadHits = 0;
+        // m_padGlobalX = new std::vector<float>();
+        // m_padGlobalY = new std::vector<float>();
+        // m_padGlobalZ = new std::vector<float>();
+        // m_padTruthHitGlobalX = new std::vector<float>();
+        // m_padTruthHitGlobalY = new std::vector<float>();
+        // m_padTruthHitGlobalZ = new std::vector<float>();
+        // m_padEtaIdFromOfflineId = new std::vector<int>();
+        // m_padPhiIdFromOfflineId = new std::vector<int>();
+        // m_padSectorFromOfflineId = new std::vector<int>();
+        // m_padLayerFromOfflineId = new std::vector<int>();
+        // m_offlineIdPadEtaConverted = new std::vector<int>();
+        // m_offlineIdPadPhiConverted = new std::vector<int>();
+        // m_padEtaIdFromOldSimu   = new std::vector<int>();
+        // m_padPhiIdFromOldSimu   = new std::vector<int>();
+
+        m_tree->Branch("nPadTriggers",                 &m_nPadTriggers,"nPadTriggers/i");
+        m_tree->Branch("padTriggerBCID",               &m_padTriggerBCID);
+        m_tree->Branch("padTriggerSectorID",           &m_padTriggerSectorID);
+        m_tree->Branch("padTriggerSideID",             &m_padTriggerSideID);
+        m_tree->Branch("padTriggerBandID",             &m_padTriggerBandID);
+        m_tree->Branch("padTriggerEta",                &m_padTriggerEta);
+        m_tree->Branch("padTriggerPhi",                &m_padTriggerPhi);
+        m_tree->Branch("padTriggerEtaID",              &m_padTriggerEtaID);
+        m_tree->Branch("padTriggerPhiID",              &m_padTriggerPhiID);
+        m_tree->Branch("padTriggerMultipletID",        &m_padTriggerMultipletID);
+        m_tree->Branch("padTriggerGasGapID",           &m_padTriggerGasGapID);
+        // m_tree->Branch("nPadHits",                  &m_nPadHits,"nPadHits/i");
+        // m_tree->Branch("padGlobalX",                &m_padGlobalX);
+        // m_tree->Branch("padGlobalY",                &m_padGlobalY);
+        // m_tree->Branch("padGlobalZ",                &m_padGlobalZ);
+        // m_tree->Branch("padTruthHitGlobalX",        &m_padTruthHitGlobalX);
+        // m_tree->Branch("padTruthHitGlobalY",        &m_padTruthHitGlobalY);
+        // m_tree->Branch("padTruthHitGlobalZ",        &m_padTruthHitGlobalZ);
+        // m_tree->Branch("padEtaIdFromOfflineId",     &m_padEtaIdFromOfflineId);
+        // m_tree->Branch("padPhiIdFromOfflineId",     &m_padPhiIdFromOfflineId);
+        // m_tree->Branch("padSectorIdFromOfflineId",  &m_padSectorFromOfflineId);
+        // m_tree->Branch("padLayerFromOfflineId",     &m_padLayerFromOfflineId);
+        // m_tree->Branch("offlineIdPadEtaIdConverted",&m_offlineIdPadEtaConverted);
+        // m_tree->Branch("offlineIdPadPhiIdConverted",&m_offlineIdPadPhiConverted);
+        // m_tree->Branch("padEtaIdFromOldSimu",       &m_padEtaIdFromOldSimu);
+        // m_tree->Branch("padPhiIdFromOldSimu",       &m_padPhiIdFromOldSimu);
+        success = true;
+    }
+    return success;
+}
+//------------------------------------------------------------------------------
+void PadTriggerValidationTree::reset_ntuple_variables()
+{
+    if(m_tree){
+        m_nPadTriggers       = 0;
+        m_padTriggerBCID     ->clear();
+        m_padTriggerSectorID ->clear();
+        m_padTriggerSideID   ->clear();
+        m_padTriggerBandID   ->clear();
+        m_padTriggerEta      ->clear();
+        m_padTriggerPhi      ->clear();
+        m_padTriggerEtaID    ->clear();
+        m_padTriggerPhiID    ->clear();
+        m_padTriggerMultipletID ->clear();
+        m_padTriggerGasGapID    ->clear();
+        // m_nPadHits = 0;
+        // m_padGlobalX->clear();
+        // m_padGlobalY->clear();
+        // m_padGlobalZ->clear();
+        // m_padTruthHitGlobalX->clear();
+        // m_padTruthHitGlobalY->clear();
+        // m_padTruthHitGlobalZ->clear();
+        // m_padEtaIdFromOfflineId->clear();
+        // m_padPhiIdFromOfflineId->clear();
+        // m_padSectorFromOfflineId->clear();
+        // m_padLayerFromOfflineId->clear();
+        // m_offlineIdPadEtaConverted->clear();
+        // m_offlineIdPadPhiConverted->clear();
+        // m_padEtaIdFromOldSimu->clear();
+        // m_padPhiIdFromOldSimu->clear();
+    }
+}
+//------------------------------------------------------------------------------
+void PadTriggerValidationTree::clear_ntuple_variables()
+{
+    m_nPadTriggers       = 0;
+    m_padTriggerBCID     = NULL;
+    m_padTriggerSectorID = NULL;
+    m_padTriggerSideID   = NULL;
+    m_padTriggerBandID   = NULL;
+    m_padTriggerEta      = NULL;
+    m_padTriggerPhi      = NULL;
+    m_padTriggerEtaID    = NULL;
+    m_padTriggerPhiID    = NULL;
+    m_padTriggerMultipletID = NULL;
+    m_padTriggerGasGapID    = NULL;
+    // m_nPadHits = 0;
+    // m_padGlobalX = NULL;
+    // m_padGlobalY = NULL;
+    // m_padGlobalZ = NULL;
+    // m_padTruthHitGlobalX = NULL;
+    // m_padTruthHitGlobalY = NULL;
+    // m_padTruthHitGlobalZ = NULL;
+    // m_padEtaIdFromOfflineId    = NULL;
+    // m_padPhiIdFromOfflineId    = NULL;
+    // m_padSectorFromOfflineId   = NULL;
+    // m_padLayerFromOfflineId    = NULL;
+    // m_offlineIdPadEtaConverted = NULL;
+    // m_offlineIdPadPhiConverted = NULL;
+    // m_padEtaIdFromOldSimu      = NULL;
+    // m_padPhiIdFromOldSimu      = NULL;
+}
+//------------------------------------------------------------------------------
+void PadTriggerValidationTree::fill_num_pad_triggers(size_t num)
+{
+    m_nPadTriggers = num;
+}
+//------------------------------------------------------------------------------
+void PadTriggerValidationTree::fill_pad_trigger_basics(const std::vector<PadTrigger*> &triggers) {
+  for(auto& trigger : triggers) {
+    m_padTriggerBCID       ->push_back(trigger->bctag());
+    m_padTriggerSectorID   ->push_back(trigger->sectorId());
+    m_padTriggerSideID     ->push_back(trigger->sideId()); 
+    m_padTriggerBandID     ->push_back(trigger->bandId()); 
+    m_padTriggerEta        ->push_back(trigger->eta()); 
+    m_padTriggerPhi        ->push_back(trigger->phi()); 
+    m_padTriggerEtaID      ->push_back(trigger->etaId()); 
+    m_padTriggerPhiID      ->push_back(trigger->phiId()); 
+    m_padTriggerMultipletID->push_back(trigger->multipletId()); 
+    m_padTriggerGasGapID   ->push_back(trigger->gasGapId()); 
+  }
+}
+
+// //------------------------------------------------------------------------------
+// void PadTriggerValidationTree::fill_num_pad_hits(size_t num)
+// {
+//     m_nPadHits = num;
+// }
+// //------------------------------------------------------------------------------
+// void PadTriggerValidationTree::fill_hit_global_pos(const Amg::Vector3D &pos)
+// {
+//     m_padGlobalX->push_back(pos.x());
+//     m_padGlobalY->push_back(pos.y());
+//     m_padGlobalZ->push_back(pos.z());
+// }
+// //------------------------------------------------------------------------------
+// void PadTriggerValidationTree::fill_truth_hit_global_pos(const Amg::Vector3D &pos)
+// {
+//     m_padTruthHitGlobalX->push_back(pos.x());
+//     m_padTruthHitGlobalY->push_back(pos.y());
+//     m_padTruthHitGlobalZ->push_back(pos.z());
+// }
+// //------------------------------------------------------------------------------
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.h
new file mode 100644
index 00000000000..0bd66192138
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadTriggerValidationTree.h
@@ -0,0 +1,81 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef NSWL1_PADTRIGGERVALIDATIONTREE_H
+#define NSWL1_PADTRIGGERVALIDATIONTREE_H
+
+#include "GeoPrimitives/GeoPrimitives.h" // Amg::Vector3D (cannot fw declare typedef)
+
+#include <string>
+#include <utility> // pair
+#include <vector>
+
+class TTree;
+
+namespace NSWL1 {
+
+class PadTrigger;
+
+/**
+   @brief Make TTree to validate the PadTriggerLogicOfflineTool.
+bb
+   \ todo implement all branches (for now just a skeleton based on
+   PadTdsValidationTree)
+
+   davide.gerbaudo@gmail.com
+   Oct 2015
+*/
+class PadTriggerValidationTree {
+
+public:
+    PadTriggerValidationTree();
+    static std::string treename_from_algoname(const std::string &algoname);
+    /// initialize the output containers and the tree
+    /**
+       The tree should be provided by the THistSvc from Athena.
+    */
+    bool init_tree(TTree *tree);
+    void reset_ntuple_variables(); ///< clear all vectors of internal containers
+    void clear_ntuple_variables(); ///< set to 0 all pointers of internal containers
+    void fill_num_pad_triggers(size_t num);                                  ///< store the number of pad triggers per event
+    void fill_pad_trigger_basics(const std::vector<PadTrigger*> &triggers);  ///< store basic information about the pad triggers 
+    /*
+    void fill_num_pad_hits(size_t num); ///< store the number of hits for one pad
+    void fill_hit_global_pos(const Amg::Vector3D& pos); ///< store global position of a hit
+    void fill_truth_hit_global_pos(const Amg::Vector3D& pos); ///< store global position of a truth-matched hit
+    */
+private:
+    std::string m_treename;
+    TTree* m_tree;                                          ///< ntuple for analysis
+    int m_nPadTriggers; ///< number of triggers per event
+    std::vector<unsigned int>* m_padTriggerBCID;      ///< BCID of the pad trigger
+    std::vector<int>*          m_padTriggerSectorID;  ///< Sector ID of the pad trigger
+    std::vector<int>*          m_padTriggerSideID;    ///< Side ID of the pad trigger
+    std::vector<unsigned int>* m_padTriggerBandID;    ///< band ID used to determine which strips are read out    
+    std::vector<float>*        m_padTriggerEta;       ///< Trigger halfpad eta    
+    std::vector<float>*        m_padTriggerPhi;       ///< Trigger halfpad phi    
+    std::vector<int>*          m_padTriggerEtaID;     ///< Trigger halfpad eta id   
+    std::vector<int>*          m_padTriggerPhiID;     ///< Trigger halfpad phi id   
+    std::vector<int>*          m_padTriggerMultipletID;  ///< Multiplet ID of the pad trigger   
+    std::vector<int>*          m_padTriggerGasGapID;     ///< GasGap ID of the pad trigger
+    // int m_nPadHits;                                         ///< number of PAD hit delivered
+    // std::vector<float>* m_padGlobalX;                       ///< global position X of the PAD hit
+    // std::vector<float>* m_padGlobalY;                       ///< global position Y of the PAD hit
+    // std::vector<float>* m_padGlobalZ;                       ///< global position Z of the PAD hit
+    // std::vector<float>* m_padTruthHitGlobalX;               ///< global position X of the truth hit associated to the PAD hit
+    // std::vector<float>* m_padTruthHitGlobalY;               ///< global position Y of the truth hit associated to the PAD hit
+    // std::vector<float>* m_padTruthHitGlobalZ;               ///< global position Z of the truth hit associated to the PAD hit
+    // std::vector<int>*   m_padEtaIdFromOfflineId;            ///< PAD eta Id from the offline Id
+    // std::vector<int>*   m_padPhiIdFromOfflineId;            ///< PAD phi Id from the offline Id
+    // std::vector<int>*   m_padSectorFromOfflineId;           ///< PAD sector Id from the offline Id
+    // std::vector<int>*   m_padLayerFromOfflineId;            ///< PAD layer Id from the offline Id
+    // std::vector<int>*   m_offlineIdPadEtaConverted;         ///< PAD eta Id from the offline Id that were converted
+    // std::vector<int>*   m_offlineIdPadPhiConverted;         ///< PAD phi Id from the offline Id that were converted
+    // std::vector<int>*   m_padEtaIdFromOldSimu;              ///< PAD eta Id from the standalone simulation code
+    // std::vector<int>*   m_padPhiIdFromOldSimu;              ///< PAD phi Id from the standalone simulation code
+};  // PadTriggerValidationTree
+
+} // NSWL1
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.cxx
new file mode 100644
index 00000000000..53f97e47225
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.cxx
@@ -0,0 +1,194 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Gaudi/Athena basic includes
+#include "GaudiKernel/MsgStream.h"
+
+// local includes
+#include "sTGCenumeration.h"
+#include "sTGCgeometry.h"
+#include "PadOfflineData.h"
+
+#include "TMath.h"
+#include "TRotation.h"
+#include "TVector3.h"
+
+#include <utility>
+#include <cassert>
+
+#include "PadUtil.h"
+
+namespace NSWL1 {
+
+  //-------------------------------------
+  bool wedgeidIsInvalid(int wedgeid, MsgStream& msg){
+    bool invalid(wedgeid!=LARGE && wedgeid!=SMALL);
+    if(invalid && msg.level()<=MSG::VERBOSE )
+      msg << MSG::VERBOSE << "PadUtil::wedgeIsInvalid: invalid wedgeid " << wedgeid << endmsg;
+    return invalid;
+  }
+  //-------------------------------------
+  bool wedgetypeIsInvalid(int wedgetype, MsgStream& msg){
+    bool invalid(wedgetype!=PIVOT && wedgetype!=CONFIRM);
+    if(invalid && msg.level()<=MSG::VERBOSE)
+      msg << MSG::VERBOSE << "PadUtil::wedgeTypeIsInvalid: invalid wedgetype " << wedgetype << endmsg;
+    return invalid;
+  }
+  //-------------------------------------
+  bool layerIsInvalid(int layer, MsgStream& msg){
+    bool invalid(layer<1 || layer>4);
+    if(invalid && msg.level()<=MSG::VERBOSE)
+      msg << MSG::VERBOSE << "PadUtil::layerIsInvalid: invalid layer " << layer << endmsg;
+    return invalid;
+  }
+  //-------------------------------------
+  bool sectorIsInvalid(int sector, MsgStream& msg){
+    bool invalid(sector<1 || sector>16);
+    if(invalid && msg.level()<=MSG::VERBOSE)
+      msg << MSG::VERBOSE << "PadUtil::sectorIsInvalid: invalid sector " << sector << endmsg;
+    return invalid;
+  }
+  //-------------------------------------
+  bool detectorNumberIsInvalid(int dn, MsgStream& msg){
+    bool invalid(dn<0 || dn >STGC_DETECTOR_3);
+    if(invalid && msg.level()<=MSG::VERBOSE)
+      msg << MSG::VERBOSE << "PadUtil::detectorNumberIsInvalid: invalid detectorNumber " << dn << endmsg;
+    return invalid;
+  }
+  //-------------------------------------
+  int sideFromZ(float z) { return (z>0.0 ? 0:1); }
+  //-------------------------------------
+  float midSectorPhi(int sector, MsgStream& msg){
+    float nSectors=16.0;
+    float sectorDphi(TMath::TwoPi()/nSectors);
+    if(sector<1 && msg.level()<=MSG::DEBUG) msg << MSG::DEBUG << "sector " << sector << std::endl;
+    assert(sector>0); // we are assuming that the sector N starts from 1
+    return (sector-1)*sectorDphi;
+  }
+  //-------------------------------------
+  float adjustHforZdifference(const float &h, const STGCType &s, const int &l)
+  {
+    return h * Z_CURRENT_LAYOUT[s][l] / Z_DANIEL[s][l];
+  }
+
+
+  bool determinePad(int layer,
+                    int wedgeId,
+                    int wedgeType,
+                    int sector,
+                    int detectorNumber,
+                    TVector3 pos,
+                    std::pair<int,int>& result,
+                    MsgStream& msg)
+  {
+    if(layerIsInvalid         (layer,          msg)) return false;
+    if(sectorIsInvalid        (sector,         msg)) return false;
+    if(detectorNumberIsInvalid(detectorNumber, msg)) return false;
+    int la(layer-1); // layer is in [1,4], but indices start from 0
+    int wi(wedgeId), wt(wedgeType), sn(sector), dn(detectorNumber);
+    // ==> used in the previos result  int side( sideFromZ(pos.Z()) );
+    STGCType st(STGC_TYPES);
+    // ==> used in the previos result  STGCDetectorType sdt(STGC_DETECTORS);
+    LayerType lt(NO_LAYER);
+
+    //using namespace std;
+    // some conversion enum<-->int (should be implemented with the enum)
+    if     (LARGE == wi && PIVOT   == wt) st = LARGE_PIVOT;
+    else if(LARGE == wi && CONFIRM == wt) st = LARGE_CONFIRM;
+    else if(SMALL == wi && PIVOT   == wt) st = SMALL_PIVOT;
+    else if(SMALL == wi && CONFIRM == wt) st = SMALL_CONFIRM;
+    else {
+      if (msg.level()<=MSG::VERBOSE)
+        msg << MSG::VERBOSE << "determinePad: invalid L/S (" << wi << "), P/C (" << wt << ") values " << endmsg;
+      return false;
+    }
+
+    switch(la) {
+    case 0: lt = STGC_LAYER_1; break;
+    case 1: lt = STGC_LAYER_2; break;
+    case 2: lt = STGC_LAYER_3; break;
+    case 3: lt = STGC_LAYER_4; break;
+    default :
+      if( msg.level()<=MSG::VERBOSE) msg << MSG::VERBOSE << "determinePad: invalid layer index " << la << endmsg;
+      return false;
+    }
+    (void) lt; // unused variable
+    bool isInnerDetector(dn==STGC_DETECTOR_0 || dn==STGC_DETECTOR_1);
+    float phiPadSize(PAD_PHI_DIVISION);
+    if(isInnerDetector) phiPadSize /= PAD_PHI_SUBDIVISION; // inner dets have finer pads
+        float phiOrigin(PAD_COL_PHI0[st][dn][la]);
+        float hLowEdge(H_PAD_ROW_0[st][la]);
+    float padHeight(PAD_HEIGHT[st][la]);
+    //-- int leftmostCol(INDEX_LEFTMOST_COL[st][dn][la]); // see comment a few lines below
+    //-- int rightmostCol(INDEX_RIGHTMOST_COL[st][dn][la]);
+    float phiCenterSector(midSectorPhi(sn,msg));
+    float phiSectorFive(midSectorPhi(5,msg)); // sector 5 is the one aligned with the ATLAS y axis
+    pos.RotateZ(phiSectorFive - phiCenterSector);
+    hLowEdge  = adjustHforZdifference(hLowEdge,  st, la);
+    padHeight = adjustHforZdifference(padHeight, st, la);
+    int ieta = TMath::Floor((pos.Y() - hLowEdge) / padHeight);
+
+    int iphi = TMath::Floor((pos.Phi() - phiOrigin - phiSectorFive) / phiPadSize);
+
+    float loHei(hLowEdge + ieta*padHeight);
+    float hiHei(loHei + padHeight);
+    float loPhi(phiOrigin + phiSectorFive + iphi*phiPadSize);
+    float hiPhi(loPhi + phiPadSize);
+    if((loHei > pos.Y()) || (pos.Y() > hiHei) || (loPhi > pos.Phi()) || (pos.Phi() > hiPhi))
+      if (msg.level()<=MSG::DEBUG)
+        msg << MSG::DEBUG << "determinePad: Something wrong with pad edges? " // here we should assert, but there's 2pi ambiguity
+            << "height : " << loHei << " < " << pos.Y()   << " < " << hiHei << std::endl
+            << "phi    : " << loPhi << " < " << pos.Phi() << " < " << hiPhi << std::endl
+            << "loPhi=("   << phiOrigin << " + " << phiSectorFive << " + " << iphi << "*" << phiPadSize << ")" << std::endl
+            << "phiOrigin(PAD_COL_PHI0[" << st << "][" << dn << "][" << la << "]) : " << PAD_COL_PHI0[st][dn][la] << std::endl
+        ;
+    // DG not sure whether we should use this adjustment...ask Shikma
+    //-- if     (iphi < 0 && iphi < leftmostCol ) iphi = leftmostCol;
+    //-- else if(iphi > 0 && iphi > rightmostCol) iphi = rightmostCol;
+
+
+    if(msg.level()<=MSG::VERBOSE)
+      msg << MSG::VERBOSE << "determine pad (" << pos.X() << ", " << pos.Y() << ", " << pos.Z() << ")"
+          << " sector " << sn << " layer " << (la+1)
+          << " (" << ieta << "," << iphi << ")" << endmsg;
+
+    result.first  = ieta;
+    result.second = iphi;
+    //result.ieta   = ieta;
+    //result.iphi   = iphi;
+    //result.det    = sdt;
+    //result.stgc   = st;
+    //result.layer  = lt;
+    //result.sector = sn;
+    //result.side   = side;
+    //result.setLowPhi(loPhi).setHighPhi(hiPhi).setLowH(loHei).setHighH(hiHei).fillCornerCoords(pos.Z(), phiSectorFive - phiCenterSector);
+    return true;
+  }
+
+bool determine_pad_indices_with_old_algo(const PadOfflineData& pod, const Amg::Vector3D &global_pos,
+                                         std::pair<int,int>& result, MsgStream& msg)
+
+{
+    TVector3 pos(global_pos.x(), global_pos.y(), global_pos.z());
+
+    // NEW to OLD nomencleture
+    int layer          = pod.gasGapId();
+    int wedgeId        = pod.sectorType();
+    int wedgeType      = -1;
+    if ( wedgeId == 0 ) wedgeType = pod.multipletId() == 1 ? 0 : 1; // SMALL P(0):C(1)
+    else                wedgeType = pod.multipletId() == 1 ? 1 : 0; // LARGE C(1):P(0)
+    int sectorNumber   = pod.sectorId();
+    int detectorNumber = pod.moduleId();
+
+    return determinePad(layer,
+                        wedgeId,
+                        wedgeType,
+                        sectorNumber,
+                        detectorNumber,
+                        pos,
+                        result,
+                        msg);
+}
+
+} // end of namesape
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.h
new file mode 100644
index 00000000000..6df5ad0a364
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadUtil.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef PADUTIL_H
+#define PADUTIL_H
+
+#include "GeoPrimitives/GeoPrimitives.h" // cannot easily fwd declare typedef Amg::Vector3D
+
+// forward declarations
+class MsgStream;
+class TVcetor3;
+class PadOfflineData;
+
+namespace std {
+  template <class X,class Y> class pair;
+}
+
+namespace NSWL1 {
+  /// determine the pad ieta, iphi indices using the old algorithm
+  /**
+     check if the PAD id can be converted into the type used by the
+     standalone PAD simulation developed for the TDR. Note that the
+     input TVector3 is the the global psosition of the PAD. The
+     resulting ieta,iphi values are stored in result. Return false
+     when the indices cannot be determined.
+  */
+  bool determinePad(int layer,
+                    int wedgeId,
+                    int wedgeType,
+                    int sector,
+                    int detectorNumber,
+                    TVector3 pos,
+                    std::pair<int,int>& result,
+                    MsgStream& msg);
+  /// wraps determinePad
+  bool determine_pad_indices_with_old_algo(const PadOfflineData& pod, const Amg::Vector3D &global_pos,
+                                           std::pair<int,int>& result, MsgStream& msg);
+} // end of namespace
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.cxx
new file mode 100644
index 00000000000..602aa40721e
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.cxx
@@ -0,0 +1,452 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PadWithHits.h"
+
+#include "TMath.h"
+#include "TVector3.h"
+
+#include "tdr_typedefs.h"
+// #include "NSWNtuple/sTGCgeometry.h"
+#include "vector_utils.h"
+// #include "NSWNtuple/NSW_sTGCHitPosition.h"
+
+#include <algorithm>
+#include <cassert>
+#include <functional>
+#include <float.h> // FLT_MIN/FLT_MAX
+#include <iostream>
+#include <math.h>  // M_PI
+#include <sstream>
+
+namespace nsw {
+  using std::vector;
+  using std::for_each;
+  using std::cout;
+  using std::endl;
+
+ std::string Pad::pickle() const
+  {
+    std::ostringstream oo;
+    oo<<"'ieta'      : " <<ieta<<      ", "
+      <<"'iphi'      : " <<iphi<<      ", "
+      <<"'multiplet' : " <<multiplet<< ", "
+      <<"'layer'     : " <<layer<<     ", "
+      <<"'sector'    : " <<sector<<    ", "
+      <<"'side'      : " <<side<<      ", "
+      <<"'module'    : " <<module<<    ", "
+      <<"'loPhi'     : " <<m_loPhi<<   ", "
+      <<"'hiPhi'     : " <<m_hiPhi<<   ", "
+      <<"'loHei'     : " <<m_loHei<<   ", "
+      <<"'hiHei'     : " <<m_hiHei<<   ", "
+      <<"'loEta'     : " <<m_loEta<<   ", "
+      <<"'hiEta'     : " <<m_hiEta<<   ", ";
+    return oo.str();
+  }
+
+
+  //-------------------------------------
+  bool operator== (const Pad &lhs, const Pad &rhs) {
+    return lhs.ieta  ==rhs.ieta
+      &&   lhs.iphi  ==rhs.iphi
+      &&   lhs.multiplet ==rhs.multiplet
+      &&   lhs.layer ==rhs.layer
+      &&   lhs.sector==rhs.sector
+      &&   lhs.side  ==rhs.side
+      &&   lhs.module ==rhs.module;
+  }
+  //-------------------------------------
+  std::ostream& operator<<( std::ostream& oo, const Pad &p){
+    oo<<"pad["<<p.ieta<<","<<p.iphi<<"] :"
+      " (m="<<p.multiplet<<", l="<<p.layer<<", s="<<p.sector
+      <<", side="<<(p.side==0 ? "A" : "C")<<", m="<<p.module
+      <<")";
+    return oo;
+  }
+  //-------------------------------------
+  float midSectorPhi(int sector){
+    float nSectors=16.0;
+    float sectorDphi(TMath::TwoPi()/nSectors);
+    // if(sector<1) cout<<"sector "<<sector<<endl;
+    assert(sector>0); // we are assuming that the sector N starts from 1
+    return (sector-1)*sectorDphi;
+  }
+  //--------------------------------------------------------------
+  float phi_mpi_pi(const double &val) {
+    double value(val);
+    while(value <= -M_PI) value += 2.*M_PI;
+    while(value >  +M_PI) value -= 2.*M_PI;
+    return value;
+  }
+  //--------------------------------------------------------------
+  float phi_zero_2pi(const double &val) {
+    double value(val);
+    while(value <= 0.     ) value += 2.*M_PI;
+    while(value >  2.*M_PI) value -= 2.*M_PI;
+    return value;
+  }
+  //-------------------------------------
+/*
+  bool determinePadFromHit(const D3PDReader::sTGCHitsD3PDObjectElement &hit,
+                           Pad &result, bool verbose)
+  {
+   return determinePad(hit.layer(), hit.wedgeId(), hit.wedgeType(),
+                        hit.sectorNumber(), hit.detectorNumber(),
+                        TVector3(hit.globalPositionX(),
+                                 hit.globalPositionY(),
+                                 hit.globalPositionZ()),
+                        result);
+  }
+*/
+  //-------------------------------------
+/*
+  bool wedgeidIsInvalid(int wedgeid, bool verbose){
+    bool invalid(wedgeid!=LARGE && wedgeid!=SMALL);
+    if(invalid && verbose) cout<<"invalid wedgeid "<<wedgeid<<endl;
+    return invalid;
+  }
+*/
+  //-------------------------------------
+/*
+  bool wedgetypeIsInvalid(int wedgetype, bool verbose){
+    bool invalid(wedgetype!=PIVOT && wedgetype!=CONFIRM);
+    if(invalid && verbose) cout<<"invalid wedgetype "<<wedgetype<<endl;
+    return invalid;
+  }
+*/
+  //-------------------------------------
+  bool layerIsInvalid(int layer, bool verbose){
+    bool invalid(layer<1 || layer>4);
+    if(verbose){}
+    // if(invalid && verbose) cout<<"invalid layer "<<layer<<endl;
+    return invalid;
+  }
+  //-------------------------------------
+  bool sectorIsInvalid(int sector, bool verbose){
+    bool invalid(sector<1 || sector>16);
+    if(verbose){}
+    // if(invalid && verbose) cout<<"invalid sector "<<sector<<endl;
+    return invalid;
+  }
+/*
+  bool detectorNumberIsInvalid(int dn, bool verbose){
+    bool invalid(dn<0 || dn >STGC_DETECTOR_3);
+    if(invalid && verbose) cout<<"invalid detectorNumber "<<dn<<endl;
+    return invalid;
+  }
+*/
+  //-------------------------------------
+/*
+  bool determinePad(int layer, int wedgeId, int wedgeType, int sector, int detectorNumber,
+                    TVector3 pos, Pad & result, bool verbose)
+  {
+    if(layerIsInvalid         (layer,          verbose)) return false;
+    if(sectorIsInvalid        (sector,         verbose)) return false;
+    if(detectorNumberIsInvalid(detectorNumber, verbose)) return false;
+    int la(layer-1); // layer is in [1,4], but indices start from 0
+    int wi(wedgeId), wt(wedgeType), sn(sector), dn(detectorNumber);
+    int side(Pad::sideFromZ(pos.Z()));
+    int st(STGC_TYPES);
+    int sdt(STGC_DETECTORS);
+    int lt(NO_LAYER);
+    using namespace std;
+    // some conversion enum<-->int (should be implemented with the enum)
+	if     (LARGE == wi && PIVOT   == wt) st = LARGE_PIVOT;
+	else if(LARGE == wi && CONFIRM == wt) st = LARGE_CONFIRM;
+	else if(SMALL == wi && PIVOT   == wt) st = SMALL_PIVOT;
+	else if(SMALL == wi && CONFIRM == wt) st = SMALL_CONFIRM;
+    else {
+      if(verbose) cout<<"invalid L/S ("<<wi<<"), P/C ("<<wt<<") values "<<endl;
+      return false;
+    }
+    switch(la) {
+    case 0: lt = STGC_LAYER_1; break;
+    case 1: lt = STGC_LAYER_2; break;
+    case 2: lt = STGC_LAYER_3; break;
+    case 3: lt = STGC_LAYER_4; break;
+    default :
+      if(verbose) cout<<"invalid layer index "<<la<<endl;
+      return false;
+    }
+    bool isInnerDetector(dn==STGC_DETECTOR_0 || dn==STGC_DETECTOR_1);
+    float phiPadSize(PAD_PHI_DIVISION);
+    if(isInnerDetector) phiPadSize /= PAD_PHI_SUBDIVISION; // inner dets have finer pads
+	float phiOrigin(PAD_COL_PHI0[st][dn][la]);
+	float hLowEdge(H_PAD_ROW_0[st][la]);
+    float padHeight(PAD_HEIGHT[st][la]);
+    //-- int leftmostCol(INDEX_LEFTMOST_COL[st][dn][la]); // see comment a few lines below
+    //-- int rightmostCol(INDEX_RIGHTMOST_COL[st][dn][la]);
+	float phiCenterSector(midSectorPhi(sn));
+    float phiSectorFive(midSectorPhi(5)); // sector 5 is the one aligned with the ATLAS y axis
+	pos.RotateZ(phiSectorFive - phiCenterSector);
+    hLowEdge  = adjustHforZdifference(hLowEdge,  st, la);
+    padHeight = adjustHforZdifference(padHeight, st, la);
+    int ieta = TMath::Floor((pos.Y() - hLowEdge) / padHeight);
+
+	int iphi = TMath::Floor((pos.Phi() - phiOrigin - phiSectorFive) / phiPadSize);
+
+    float loHei(hLowEdge + ieta*padHeight);
+    float hiHei(loHei + padHeight);
+    float loPhi(phiOrigin + phiSectorFive + iphi*phiPadSize);
+    float hiPhi(loPhi + phiPadSize);
+    if((loHei > pos.Y()) || (pos.Y() > hiHei) || (loPhi > pos.Phi()) || (pos.Phi() > hiPhi))
+      cout<<"Something wrong with pad edges? " // here we should assert, but there's 2pi ambiguity
+          <<"height : "<<loHei<<" < "<<pos.Y()  <<" < "<<hiHei<<endl
+          <<"phi    : "<<loPhi<<" < "<<pos.Phi()<<" < "<<hiPhi<<endl
+          <<"loPhi=("<<phiOrigin<<" + "<<phiSectorFive<<" + "<<iphi<<"*"<<phiPadSize<<")"<<endl
+          <<"phiOrigin(PAD_COL_PHI0["<<st<<"]["<<dn<<"]["<<la<<"]) : "<<PAD_COL_PHI0[st][dn][la]<<endl
+        ;
+    // DG not sure whether we should use this adjustment...ask Shikma
+    //-- if     (iphi < 0 && iphi < leftmostCol ) iphi = leftmostCol;
+  	//-- else if(iphi > 0 && iphi > rightmostCol) iphi = rightmostCol;
+    if(verbose)
+      cout<<"determine pad ("<<pos.X()<<", "<<pos.Y()<<", "<<pos.Z()<<")"
+          <<" sector "<<sn<<" layer "<<(la+1)
+          <<" ("<<ieta<<","<<iphi<<")"<<endl;
+    result.ieta   = ieta;
+    result.iphi   = iphi;
+    result.det    = sdt;
+    result.stgc   = st;
+    result.layer  = lt;
+    result.sector = sn;
+    result.side   = side;
+    result.setLowPhi(loPhi).setHighPhi(hiPhi).setLowH(loHei).setHighH(hiHei).fillCornerCoords(pos.Z(), phiSectorFive - phiCenterSector);
+    return true;
+  };
+*/
+  Pad& Pad::fillCornerCoords(float loHeight, float hiHeight,
+                             float loPhi, float hiPhi,
+                             float zPos, float angleToSec5)
+  {
+    float cotanLoPhi(1./tan(loPhi)), cotanHiPhi(1./tan(hiPhi)); // no NaN, we are in sec 5, so around pi/2
+    // N.B. loHeight, hiHeight, loPhi, hiPhi are all computed in the coordinates rotated to sec 5
+    // We now rotate back the original sector and provide global coordinates
+    TVector3 p0(cotanLoPhi*loHeight, loHeight ,zPos); p0.RotateZ(-angleToSec5);
+    TVector3 p1(cotanLoPhi*hiHeight, hiHeight, zPos); p1.RotateZ(-angleToSec5);
+    TVector3 p2(cotanHiPhi*loHeight, loHeight, zPos); p2.RotateZ(-angleToSec5);
+    TVector3 p3(cotanHiPhi*hiHeight, hiHeight, zPos); p3.RotateZ(-angleToSec5);
+    m_cornerXyz[0][0] = p0.X(); m_cornerXyz[0][1] = p0.Y(); m_cornerXyz[0][2] = p0.Z();
+    m_cornerXyz[1][0] = p1.X(); m_cornerXyz[1][1] = p1.Y(); m_cornerXyz[1][2] = p1.Z();
+    m_cornerXyz[2][0] = p2.X(); m_cornerXyz[2][1] = p2.Y(); m_cornerXyz[2][2] = p2.Z();
+    m_cornerXyz[3][0] = p3.X(); m_cornerXyz[3][1] = p3.Y(); m_cornerXyz[3][2] = p3.Z();
+    //m_loEta = p0.Eta();
+    //m_hiEta = p1.Eta();
+    //m_loPhi = p0.Phi();
+    //m_hiPhi = p2.Phi();
+    return *this;
+  }
+  //-------------------------------------
+  Pad& Pad::fillCornerCoords(float corners[4][3])
+  {
+    std::vector<TVector3> points; 
+    for(unsigned int i=0; i<4; i++) {
+      for(unsigned int j=0; j<3; j++) {
+        m_cornerXyz[i][j] = corners[i][j];
+      }
+      TVector3 point(m_cornerXyz[i][0],m_cornerXyz[i][1],m_cornerXyz[i][2]);
+      //cout << "    >> Pad Corner " << i 
+      //      << " x " << m_cornerXyz[i][0]
+      //      << " y " << m_cornerXyz[i][1]
+      //      << " z " << m_cornerXyz[i][2] 
+      //      << " eta " << point.Eta() 
+      //      << " phi " << point.Phi()
+      //      << endl;
+      points.push_back(point);
+    }
+    // This is not strictly correct but and approximation - ASM-2017-07-07
+    // This is not strictly correct but and approximation - ASM-2017-07-07
+    // This is not strictly correct but and approximation - ASM-2017-07-07
+    //m_loEta = points[0].Eta();
+    //m_hiEta = points[2].Eta();
+    //m_loPhi = points[0].Phi();
+    //m_hiPhi = points[1].Phi();
+    m_loEta = points[0].Eta();
+    m_hiEta = points[0].Eta();
+    m_loPhi = points[0].Phi();
+    m_hiPhi = points[0].Phi();
+    for(unsigned int i=1; i<4; i++) {
+        if(points[i].Eta()<m_loEta) m_loEta = points[i].Eta();
+        if(points[i].Eta()>m_hiEta) m_hiEta = points[i].Eta();
+        if(points[i].Phi()<m_loPhi) m_loPhi = points[i].Phi();
+        if(points[i].Phi()>m_hiPhi) m_hiPhi = points[i].Phi();
+    }
+    // This is not strictly correct but and approximation - ASM-2017-07-07
+    // This is not strictly correct but and approximation - ASM-2017-07-07
+    // This is not strictly correct but and approximation - ASM-2017-07-07
+    
+    return *this;   
+  }
+  //-------------------------------------
+/*
+  float adjustHforZdifference(const float &h, const STGCType &s, const int &l)
+
+    return h * Z_CURRENT_LAYOUT[s][l] / Z_DANIEL[s][l];
+  }
+*/
+  //-------------------------------------
+  PadWithHits::PadWithHits(const int &ieta, const int &iphi,
+                           const int &multiplet,
+                           const int &l, const int &sector, const int &side, const int &module) :
+    Pad(ieta, iphi, multiplet, l, sector, side, module),
+    m_totEnergy(0.), m_avgEta(0.), m_avgPhi(0.),
+    m_minEta(FLT_MAX), m_minPhi(FLT_MAX), m_maxEta(FLT_MIN), m_maxPhi(FLT_MIN)
+    {}
+  //-------------------------------------
+  PadWithHits::PadWithHits(const NSWL1::PadData &pData) :
+    Pad(pData),
+    m_totEnergy(0.), m_avgEta(0.), m_avgPhi(0.),
+    m_minEta(FLT_MAX), m_minPhi(FLT_MAX), m_maxEta(FLT_MIN), m_maxPhi(FLT_MIN)
+    {}
+  //-------------------------------------
+  PadWithHits::PadWithHits(const Pad &p) :
+    Pad(p),
+    m_totEnergy(0.), m_avgEta(0.), m_avgPhi(0.),
+    m_minEta(FLT_MAX), m_minPhi(FLT_MAX), m_maxEta(FLT_MIN), m_maxPhi(FLT_MIN)
+    {}
+  //-------------------------------------
+/*
+  PadWithHits& PadWithHits::addHit(const D3PDReader::sTGCHitsD3PDObjectElement &hit, const size_t &hitIndex)
+  {
+    m_hitIndices.push_back(hitIndex);
+    TVector3 pos(hit.globalPositionX(), hit.globalPositionY(), hit.globalPositionZ());
+    float eta(pos.Eta()), phi(pos.Phi());
+    updateWeightedCoord(eta, phi, hit.depositEnergy());
+    m_totEnergy += hit.depositEnergy(); // must be after updateWeightedCoord (otherwise double-count)
+    m_minEta = (m_minEta < eta ? m_minEta : eta);
+    m_minPhi = (m_minPhi < phi ? m_minPhi : phi);
+    m_maxEta = (m_maxEta > eta ? m_maxEta : eta);
+    m_maxPhi = (m_maxPhi > phi ? m_maxPhi : phi);
+    return *this;
+  }
+*/
+  //-------------------------------------
+  std::string PadWithHits::pickle() const
+  {
+    std::ostringstream oo;
+    oo<<Pad::pickle()
+      <<"'hitIndices' : " <<vec2str(m_hitIndices)<<", "
+      <<"'totEnergy' : "  <<m_totEnergy<<          ", "
+      <<"'avgEta' : "     <<m_avgEta<<             ", "
+      <<"'avgPhi' : "     <<m_avgPhi<<             ", "
+      <<"'minEta' : "     <<m_minEta<<             ", "
+      <<"'minPhi' : "     <<m_minPhi<<             ", "
+      <<"'maxEta' : "     <<m_maxEta<<             ", "
+      <<"'maxPhi' : "     <<m_maxPhi<<             ", "
+      <<"'cornerXyz' : "
+      <<"("
+      <<"("<<m_cornerXyz[0][0]<<","<<m_cornerXyz[0][1]<<","<<m_cornerXyz[0][2]<<"),"
+      <<"("<<m_cornerXyz[1][0]<<","<<m_cornerXyz[1][1]<<","<<m_cornerXyz[1][2]<<"),"
+      <<"("<<m_cornerXyz[2][0]<<","<<m_cornerXyz[2][1]<<","<<m_cornerXyz[2][2]<<"),"
+      <<"("<<m_cornerXyz[3][0]<<","<<m_cornerXyz[3][1]<<","<<m_cornerXyz[3][2]<<"),"
+      <<")"<<                                      ", ";
+    return oo.str();
+  }
+  //-------------------------------------
+  void PadWithHits::updateWeightedCoord(const double &eta, const double &phi, const float &charge)
+  {
+    float weightOld(fabs(m_totEnergy)), weightNew(fabs(charge));
+    float weightTot(weightOld+weightNew);
+    if(weightTot==0.0){
+      m_avgEta = 0.5*(m_avgEta + eta);
+      m_avgPhi = 0.5*(m_avgPhi + phi);
+    } else {
+      float invWeightTot = 1.0 / weightTot;
+      m_avgEta = ((m_avgEta*weightOld + eta*weightNew) * invWeightTot);
+      m_avgPhi = ((m_avgPhi*weightOld + phi*weightNew) * invWeightTot);
+    }
+  }
+  //-------------------------------------
+  // a functor storing the indices of pads in a given sector
+  struct inSector: public std::unary_function<const Pad&, void>
+  {
+    int sector_;
+    size_t index_;
+    vector<size_t> indices_;
+    inSector(int sector) : sector_(sector), index_(0) {}
+    void operator() (const Pad &p) { if(sector_==p.sector) indices_.push_back(index_); ++index_; }
+  };
+  //-------------------------------------
+  vector<size_t> filterPadIndicesBySector(const vector<Pad> &pads, int sector)
+  {
+    return (for_each(pads.begin(), pads.end(), inSector(sector))).indices_;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesBySector(const vector<PadWithHits> &pads, int sector)
+  {
+    return (for_each(pads.begin(), pads.end(), inSector(sector))).indices_;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesBySide(const vector<Pad>    &pads,
+                                        const vector<size_t> &padSelectedIndices,
+                                        int side)
+  { // can this be done with std::algo without building a copy? (later)
+    vector<size_t> indices;
+    for(size_t i=0; i<padSelectedIndices.size(); i++){
+      const size_t &idx=padSelectedIndices[i];
+      if(side==pads[idx].side) indices.push_back(idx);
+    }
+    return indices;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesBySide(const vector<PadWithHits>    &pads,
+                                        const vector<size_t> &padSelectedIndices,
+                                        int side)
+  { // can this be done with std::algo without building a copy? (later)
+    vector<size_t> indices;
+    for(size_t i=0; i<padSelectedIndices.size(); i++){
+      const size_t &idx=padSelectedIndices[i];
+      if(side==pads[idx].side) indices.push_back(idx);
+    }
+    return indices;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesByLayer(const vector<Pad>    &pads,
+                                         const vector<size_t> &padSelectedIndices,
+                                         int layer)
+  { // can this be done with std::algo without building a copy? (later)
+    vector<size_t> indices;
+    for(size_t i=0; i<padSelectedIndices.size(); i++){
+      const size_t &idx=padSelectedIndices[i];
+      if(layer==pads[idx].layer) indices.push_back(idx);
+    }
+    return indices;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesByLayer(const vector<PadWithHits> &pads,
+                                         const vector<size_t> &padSelectedIndices,
+                                         int layer)
+  {
+    vector<size_t> indices;
+    for(size_t i=0; i<padSelectedIndices.size(); i++){
+      const size_t &idx=padSelectedIndices[i];
+      if(layer==pads[idx].layer) indices.push_back(idx);
+    }
+    return indices;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesByMultiplet(const vector<Pad>    &pads,
+                                             const vector<size_t> &padSelectedIndices,
+                                             int multiplet)
+  { // can this be done with std::algo without building a copy? (later)
+    vector<size_t> indices;
+    for(size_t i=0; i<padSelectedIndices.size(); i++){
+      const size_t &idx=padSelectedIndices[i];
+      if(multiplet==pads[idx].multiplet) indices.push_back(idx);
+    }
+    return indices;
+  }
+  //-------------------------------------
+  vector<size_t> filterPadIndicesByMultiplet(const vector<PadWithHits> &pads,
+                                             const vector<size_t> &padSelectedIndices,
+                                             int multiplet)
+  {
+    vector<size_t> indices;
+    for(size_t i=0; i<padSelectedIndices.size(); i++){
+      const size_t &idx=padSelectedIndices[i];
+      if(multiplet==pads[idx].multiplet) indices.push_back(idx);
+    }
+    return indices;
+  }
+  //-------------------------------------
+} // end nsw
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.h
new file mode 100644
index 00000000000..fa1659d7472
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/PadWithHits.h
@@ -0,0 +1,176 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef NSW_PADWITHITS_H
+#define NSW_PADWITHITS_H
+
+#include "TVector3.h"
+
+#include <cstring> //memset
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include "TrigT1NSWSimTools/PadData.h"
+
+//namespace NSWL1 {
+//class PadData;
+//}
+namespace nsw {
+
+  struct Pad {
+    int ieta;
+    int iphi;
+    int multiplet;
+    int layer;
+    int sector;
+    int side; //!< A(==0) side is z>0, facing LHCb; C(==1) side is z<0, facing ALICE
+    int module;
+    float m_loPhi;     //!< low edge in phi of the pad surface
+    float m_hiPhi;     //!< high edge in phi of the pad surface
+    float m_loHei;     //!< low edge in height of the pad surface
+    float m_hiHei;     //!< high edge in height of the pad surface
+    float m_loEta;     //!< low edge in eta of the pad surface
+    float m_hiEta;     //!< high edge in eta of the pad surface
+    float m_loLocalY;  //!< low edge in local y
+    float m_hiLocalY;  //!< low edge in local y
+    float m_cornerXyz[4][3]; //!< (x,y,z) coordinates of the 4 pad corners (in the order low to high phi, low to high R)
+    const NSWL1::PadData *m_padData; ///< if this pad was created from a PadData object, pointer to it
+
+    Pad(const int &eta, const int &phi,
+        const int &multi, const int &layerType, const int &sn, const int &si, const int &mod) :
+      ieta(eta), iphi(phi), multiplet(multi), layer(layerType), sector(sn), side(si), module(mod),
+      m_loPhi(0.), m_hiPhi(0.), m_loHei(0.), m_hiHei(0.),
+      m_loEta(0.), m_hiEta(0.),
+      m_loLocalY(0.), m_hiLocalY(0.),
+      m_padData(nullptr)
+    { memset(m_cornerXyz, 0, sizeof(m_cornerXyz[0][0])*4*3); }
+    Pad(const NSWL1::PadData &pData ) :
+      ieta(pData.padEtaId()), iphi(pData.padPhiId()), multiplet(pData.multipletId()), layer(pData.gasGapId()), sector(pData.sectorId()), side(pData.sideId()), module(pData.moduleId()),
+      m_loPhi(0.), m_hiPhi(0.), m_loHei(0.), m_hiHei(0.),
+      m_loEta(0.), m_hiEta(0.),
+      m_loLocalY(0.), m_hiLocalY(0.),
+      m_padData(&pData)
+    { memset(m_cornerXyz, 0, sizeof(m_cornerXyz[0][0])*4*3); }
+    Pad& setLowPhi (const float &v) {m_loPhi=v; return *this;}
+    Pad& setHighPhi(const float &v) {m_hiPhi=v; return *this;}
+    Pad& setLowH   (const float &v) {m_loHei=v; return *this;}
+    Pad& setHighH  (const float &v) {m_hiHei=v; return *this;}
+    std::string pickle() const; //!< simple dict-like representation (might differ from '<<')
+    //! must be called after setting lo/hi Phi/H; angleToSec5 is the angle by which we rotate to align with the y axis (the one used in determinePad)
+    Pad& fillCornerCoords(float zPos, float angleToSec5) { return fillCornerCoords(m_loHei, m_hiHei, m_loPhi, m_hiPhi, zPos, angleToSec5); }
+    Pad& fillCornerCoords(float loHeight, float hiHeight,
+                          float loPhi, float hiPhi,
+                          float zPos, float angleToSec5);
+    Pad& fillCornerCoords(float corners[4][3]);
+    static int sideFromZ(float z) {return (z>0.0 ? 0:1);}
+  };
+  float midSectorPhi(int sector);         //!< angle phi at the center of the sector
+  float phi_mpi_pi(const double &val);    //!< bring phi to [-pi,+pi)
+  float phi_zero_2pi(const double &val);  //!< bring phi to [0, +2pi)
+  // //! function to determine the pad coordinates from the hit information
+  // /*!
+  //   Return false if the position is not consistent with our geometry
+  //  */
+  // bool determinePadFromPos(TVector3 pos, Pad &result, bool verbose=false);
+  // //! both determinePadFromHit and determinePadFromPos rely on determinePad
+  // /*!
+  //   In general, one should not call determinePad directly
+  // */
+  // bool determinePad(int layer, int wedgeId, int wedgeType, int sector, int detectorNumber,
+  //                   TVector3 pos, Pad &result, bool verbose=false);
+  //! scale a H value to account for the difference between the z-pos in the official geom and Daniel's geom
+  /*! N.B. the layer is _not_ a int, but it starts from 0.
+   */
+  // float adjustHforZdifference(const float &h, const int &s, const int &layer);
+  bool operator== (const Pad &lhs, const Pad &rhs);
+  std::ostream& operator<<( std::ostream& oo, const Pad &p);
+
+/**
+  @brief Class that holds two pieces of information: pad geometry and hit indices.
+  
+  The detector information (ieta, iphi, layer, etc.) must be provided
+  trhough the constructor.  The pad geometrical information
+  (i.e. surface limits) might require further calculation, and should be
+  set with the set(Low/High)* methods.
+  The hits on the pad must be added with PadWithHits::addHit.
+  
+  In the future we might implement some hash function to speed up the
+  pad lookup when adding the hits. 
+
+  Note: the 'pickle' representation is meant to be read in python to
+  debug single trigger/events by dumping them to a txt file. The idea is
+  to write to a string all the datamembers reducing them to basic
+  _python_ types (i.e. numbers, strings, lists etc.) contained within a
+  dictionary. The key names should be representative of the attribute,
+  but drop all the naming convention tattings (e.g. 'm_loPhi' will be
+  stored as 'loPhi'). The curly braces delimiting the dictionary
+  corresponding to an object are taken care of by the code that does the
+  actual dump, not by the object providing its representation; in this
+  way, the object does not need to worry about introspection. That is,
+  if I am an object of type A providing my 'pickle' representation, I
+  don't need to worry whether I am of type A or of type B : A; the code
+  that is actually dumping A should know the type, and take care of
+  the curly braces appropriately for example doing
+  "{A.pickle(), B.pickle()}" or "{'a' : {A.pickle()}, 'b': {B.pickle()}}".
+  
+
+  @author davide.gerbaudo@gmail.com
+  @date April 2013
+*/
+  class PadWithHits : public Pad
+  {
+  public:
+    PadWithHits(const int &ieta, const int &iphi,
+                const int &multiplet,
+                const int &layerType, const int &sector, const int &side, const int &module);
+    PadWithHits(const Pad &p);
+    PadWithHits(const NSWL1::PadData &pData);
+    const std::vector<size_t>& hitIndices() const { return m_hitIndices; }
+    float totEnergy() const { return m_totEnergy; }
+    float avgEta() const { return m_avgEta; }
+    float avgPhi() const { return m_avgPhi; }
+    std::string pickle() const; //!< simple dict-like representation
+  protected:
+    void updateWeightedCoord(const double &eta, const double &phi, const float &charge);
+  protected:
+    std::vector<size_t> m_hitIndices;
+    float m_totEnergy; //!< total energy from all hits
+    float m_avgEta;    //!< energy-weighted eta position
+    float m_avgPhi;    //!< energy-weighted phi position
+    float m_minEta;    //!< minimum charge eta position
+    float m_minPhi;    //!< minimum charge phi position
+    float m_maxEta;    //!< maximum charge eta position
+    float m_maxPhi;    //!< maximum charge phi position
+
+  }; // class PadWithHits
+
+  // helper functions
+  std::vector<size_t> filterPadIndicesBySector(const std::vector<Pad>         &pads, int sector);
+  std::vector<size_t> filterPadIndicesBySector(const std::vector<PadWithHits> &pads, int sector);
+  std::vector<size_t> filterPadIndicesBySide(const std::vector<Pad>    &pads,
+                                             const std::vector<size_t> &padSelectedIndices,
+                                             int side);
+  std::vector<size_t> filterPadIndicesBySide(const std::vector<PadWithHits> &pads,
+                                             const std::vector<size_t>      &padSelectedIndices,
+                                             int side);
+  std::vector<size_t> filterPadIndicesByLayer(const std::vector<Pad>    &pads, 
+                                              const std::vector<size_t> &padSelectedIndices,
+                                              int layer);
+  std::vector<size_t> filterPadIndicesByLayer(const std::vector<PadWithHits> &pads,
+                                              const std::vector<size_t> &padSelectedIndices,
+                                              int layer);
+  std::vector<size_t> filterPadIndicesByMultiplet(const std::vector<Pad>    &pads, 
+                                                  const std::vector<size_t> &padSelectedIndices,
+                                                  int multiplet);
+  std::vector<size_t> filterPadIndicesByMultiplet(const std::vector<PadWithHits> &pads,
+                                                  const std::vector<size_t> &padSelectedIndices,
+                                                  int multiplet);
+
+} // end namespace nsw
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.cxx
new file mode 100644
index 00000000000..960893d9ad0
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.cxx
@@ -0,0 +1,72 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SectorTriggerCandidate.h"
+#include "PadWithHits.h" // shouldn't be needed, need to fix it DG
+
+#include <cassert>
+#include <sstream>
+
+
+using nsw::SectorTriggerCandidate;
+typedef SectorTriggerCandidate Stc; // just to get shorter lines
+
+
+
+Stc::SectorTriggerCandidate(const nsw::SingleWedgePadTrigger &inner,
+                            const nsw::SingleWedgePadTrigger &outer)
+{
+  m_wedgeTrigs.push_back(inner);
+  m_wedgeTrigs.push_back(outer);
+}
+
+Stc::SectorTriggerCandidate(const nsw::SingleWedgePadTrigger &innerOrOuterInTransition)
+{
+  m_wedgeTrigs.push_back(innerOrOuterInTransition);
+}
+
+nsw::EtaPhiRectangle Stc::triggerRegion() const
+{
+  assert(m_wedgeTrigs.size()>0); // cannot have any trig with any wedge
+  bool hasBothInnerOuter(m_wedgeTrigs.size()>1);
+  if(hasBothInnerOuter){
+    const SingleWedgePadTrigger &inner = m_wedgeTrigs[0];
+    return SingleWedgePadTrigger::padOverlap(inner.pads());
+  } else {
+    return SingleWedgePadTrigger::padOverlap(m_wedgeTrigs[0].pads());
+  }
+}
+
+float Stc::deltaR() const
+{
+  if(m_wedgeTrigs.size()<2) return 0.0;
+  else return m_wedgeTrigs[0].direction().DeltaR(m_wedgeTrigs[1].direction());
+}
+
+std::string vec2pickle(const std::vector< nsw::SingleWedgePadTrigger > &trigs){
+    std::ostringstream oo;
+    oo<<"[";
+    for(size_t i=0; i<trigs.size(); ++i) oo<<"{"<<trigs[i].pickle()<<"}, ";
+    oo<<"]";
+    return oo.str();
+}
+
+std::string Stc::pickle() const
+{
+  std::ostringstream oo;
+  oo<<"'wedgeTrigs' : "<<vec2pickle(m_wedgeTrigs)<<", ";
+  return oo.str();
+}
+
+std::string Stc::summaryString() const
+{
+  std::ostringstream oo;
+  EtaPhiRectangle r(triggerRegion());
+  oo<<"SectorTriggerCandidate "
+    <<" sector "<<m_wedgeTrigs[0].pads()[0].sector // get the sector from the first pad
+    <<" eta ["<<r.etaMin()<<", "<<r.etaMax()<<"]"
+    <<" phi ["<<r.phiMin()<<", "<<r.phiMax()<<"]";
+  return oo.str();
+  
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.h
new file mode 100644
index 00000000000..1f89d5dbbb2
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/SectorTriggerCandidate.h
@@ -0,0 +1,46 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef NSW_SECTORTRIGGERCANDIDATE_H
+#define NSW_SECTORTRIGGERCANDIDATE_H
+
+#include "SingleWedgePadTrigger.h"
+#include "EtaPhiRectangle.h"
+
+#include <string>
+#include <vector>
+
+/*!
+
+A trigger trigger candidate for a stgc sector
+
+davide.gerbaudo@gmail.com, April 2013
+*/
+
+namespace nsw {
+  class SingleWedgePadTrigger;
+}
+
+namespace nsw {
+  class SectorTriggerCandidate {
+  public:
+    SectorTriggerCandidate(const nsw::SingleWedgePadTrigger &inner,
+                           const nsw::SingleWedgePadTrigger &outer);
+    SectorTriggerCandidate(const nsw::SingleWedgePadTrigger &innerOrOuterInTransition);
+    std::string pickle() const; //!< simple dict-like representation
+    const std::vector< nsw::SingleWedgePadTrigger >& wedgeTrigs() const { return m_wedgeTrigs;}
+    nsw::EtaPhiRectangle triggerRegion() const;
+    //! difference in direction between inner and outer; return 0. if only one is available
+    float deltaR() const;
+    std::string summaryString() const; //!< a string summarizing the trigger position
+  private:
+    std::vector< nsw::SingleWedgePadTrigger > m_wedgeTrigs;
+  }; // end class SectorTriggerCandidate
+
+} // end namespace nsw
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.cxx
new file mode 100644
index 00000000000..949c72caf4c
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.cxx
@@ -0,0 +1,204 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SingleWedgePadTrigger.h"
+
+#include "PadWithHits.h"
+#include "vector_utils.h"
+#include "tdr_compat_enum.h"
+
+#include <algorithm>
+#include <cassert>
+#include <cmath>
+#include <iostream>
+#include <sstream>
+
+using nsw::SingleWedgePadTrigger;
+typedef SingleWedgePadTrigger Swpt; // just to get shorter lines
+using nsw::EtaPhiRectangle;
+
+
+bool sortByLayer(const nsw::PadWithHits &p0, const nsw::PadWithHits& p1) {
+  return p0.layer<p1.layer;
+}
+Swpt::SingleWedgePadTrigger(const std::string &pattern,
+                            const vpads_t &pads,
+                            const std::vector<size_t> &padIndices) :
+  m_pattern(pattern), m_halfPadIndices(-999,-999), m_padIndices(padIndices),
+  m_alreadyCombined(false)
+{
+  //std::cout<<"SingleWedgePadTrigger: "<<pattern<<" padIndices :"<<nsw::vec2str(padIndices)<<std::endl;
+  assert(m_padIndices.size()>0); // a trigger without pads doesn't make sense
+  for(size_t i=0; i<padIndices.size(); ++i) m_pads.push_back(pads[padIndices[i]]);
+  std::sort(m_pads.begin(), m_pads.end(), sortByLayer);
+  m_halfPadIndices = halfPadCoordinates();
+}
+
+std::string Swpt::EtaPhi::str() const {
+  std::ostringstream oss;
+  oss<<"("<<ieta<<", "<<iphi<<")";
+  return oss.str();
+}
+
+Swpt::EtaPhiHalf Swpt::halfPadCoordinates() const {
+  const vpads_t &pads = m_pads;
+  using std::cout; using std::endl;
+  size_t nPads(pads.size());
+  bool haveEnoughPads(nPads>2);
+  if(not haveEnoughPads)
+      std::cerr<<"Swpt::halfPadCoordinates: need at least 3 pads"<<endl;
+  assert(haveEnoughPads);
+  const PadWithHits &pad0=pads[0], &pad1=pads[1], &pad2=pads[2];
+  int l0(pad0.layer), l1(pad1.layer), l2(pad2.layer);
+  // DG: Are we assuming that the pad indices are sorted? this assumption might not be always valid
+  // DG: Should we also cross-check the 4th pad if present?
+  bool missLast  (l0==STGC_LAYER_1 && l1==STGC_LAYER_2); // missLast also includes 4 out of 4.
+  bool missMiddle(l0==STGC_LAYER_1 && l2==STGC_LAYER_4);
+  bool missFirst (l0==STGC_LAYER_2 && l1==STGC_LAYER_3);
+  bool validLayerCombination(missLast || missMiddle || missFirst);
+  // if(!validLayerCombination) cout<<"buggy layer combination? layers: "<<l0<<","<<l1<<","<<l2<<endl;
+  assert(validLayerCombination); // probably got a pattern we don't know how to interpret
+  (void) validLayerCombination; // to get rid of weird unused variable warning...
+
+  EtaPhiHalf pos(-999,-999);
+  EtaPhi posA(-999,-999), posB(-999,-999);
+  if       (missLast) { posA = EtaPhi(pad0.ieta, pad0.iphi); posB = EtaPhi(pad1.ieta, pad1.iphi); }
+  else if(missMiddle) { posA = EtaPhi(pad0.ieta, pad0.iphi); posB = EtaPhi(pad2.ieta, pad2.iphi); }
+  else if (missFirst) { posA = EtaPhi(pad1.ieta, pad1.iphi); posB = EtaPhi(pad0.ieta, pad0.iphi); }
+  pos.ieta = ((posA.ieta==posB.ieta) ? (posA.ieta * 2) : (posA.ieta * 2 + 1));
+  pos.iphi = ((posA.iphi==posB.iphi) ? (posA.iphi * 2) : (posA.iphi * 2 + 1));
+
+  return pos;
+}
+
+bool Swpt::isSmallSector() const
+{ 
+    // small sectors are the even ones (when counting 1-16, but sectorId is 0-15)
+    const PadWithHits &firstPad = m_pads[0];
+    bool isEven = ((firstPad.sector + 1) %2 )==1;
+    return isEven;
+}
+
+float Swpt::avgEtaFromFirstPad() const
+{
+  return m_pads[0].avgEta();
+}
+
+bool Swpt::isInTransitionRegion() const
+{
+  bool small(isSmallSector());
+  float absEta = std::abs(avgEtaFromFirstPad());
+  // DG don't know whether these numbers are from the parameter book...ask Shikma
+  const double transitionEtaLow_S [3] = {1.43, 1.73, 2.07};
+  const double transitionEtaHigh_S[3] = {1.54, 1.87, 2.37};
+  const double transitionEtaLow_L [3] = {1.41, 1.67, 2.05};
+  const double transitionEtaHigh_L[3] = {1.53, 1.82, 2.35};
+  const double* trEtaLo(small ? transitionEtaLow_S  : transitionEtaLow_L  );
+  const double* trEtaHi(small ? transitionEtaHigh_S : transitionEtaHigh_L );
+  bool isTr((absEta > trEtaLo[0] && absEta < trEtaHi[0]) ||
+            (absEta > trEtaLo[1] && absEta < trEtaHi[1]) ||
+            (absEta > trEtaLo[2] && absEta < trEtaHi[2]) );
+  return isTr;
+}
+
+EtaPhiRectangle Swpt::padOverlap(const vpads_t &pads)
+{ // \todo some duplication with halfPadCoordinates()...refactor
+  using std::cout; using std::endl;
+  size_t nPads(pads.size());
+  bool haveEnoughPads(nPads>2);
+  if(not haveEnoughPads)
+      std::cerr<<"Swpt::halfPadCoordinates: need at least 3 pads"<<endl;
+  assert(haveEnoughPads);
+  const PadWithHits &pad0=pads[0], &pad1=pads[1], &pad2=pads[2];
+  int l0(pad0.layer), l1(pad1.layer), l2(pad2.layer); // DG: Are we assuming that the pad indices are sorted? this assumption might not be always valid
+  // identify the two staggered pads (see parameter book)
+  bool hasL1L2(l0==STGC_LAYER_1 && l1==STGC_LAYER_2); // also includes 4 out of 4.
+  bool hasL1L4(l0==STGC_LAYER_1 && l2==STGC_LAYER_4);
+  bool hasL2L3(l0==STGC_LAYER_2 && l1==STGC_LAYER_3);
+  bool validLayerCombination(hasL1L2 || hasL1L4 || hasL2L3);
+  // if(!validLayerCombination) cout<<"buggy layer combination? layers: "<<l0<<","<<l1<<","<<l2<<endl;
+  assert(validLayerCombination); // probably got a pattern we don't know how to interpret
+  (void) validLayerCombination;
+  // ASM-2017-07-07
+  // ASM-2017-07-07
+  // ASM-2017-07-07
+  //const PadWithHits &padA = pad0;
+  //const PadWithHits &padB = (hasL1L4 ? pad2 : pad1);
+  //return EtaPhiRectangle::overlappingRectangle(EtaPhiRectangle(padA.m_loEta, padA.m_hiEta,
+  //                                                             padA.m_loPhi, padA.m_hiPhi),
+  //                                             EtaPhiRectangle(padB.m_loEta, padB.m_hiEta,
+  //                                                             padB.m_loPhi, padB.m_hiPhi));
+  EtaPhiRectangle overlap = EtaPhiRectangle::overlappingRectangle(EtaPhiRectangle(pads[0].m_loEta, pads[0].m_hiEta,
+                                                                                  pads[0].m_loPhi, pads[0].m_hiPhi),
+                                                                  EtaPhiRectangle(pads[1].m_loEta, pads[1].m_hiEta,
+                                                                                  pads[1].m_loPhi, pads[1].m_hiPhi));
+  for(unsigned int i=2; i<pads.size(); i++) {
+    overlap = EtaPhiRectangle::overlappingRectangle(overlap,
+                                                    EtaPhiRectangle(pads[i].m_loEta, pads[i].m_hiEta,
+                                                                    pads[i].m_loPhi, pads[i].m_hiPhi));
+  }
+  return overlap;
+  // ASM-2017-07-07
+  // ASM-2017-07-07
+  // ASM-2017-07-07
+}
+
+TVector3 Swpt::direction(const nsw::PadWithHits &firstPad,
+                         const nsw::EtaPhiRectangle &overlap)
+{
+  TVector3 v;
+  // DG need to think about how this should be implemented
+  float z(firstPad.m_cornerXyz[0][2]); // all corners have the same z
+  float thetaC(2.0*atan(exp(-overlap.eta()))), phiC(overlap.phi());
+  float r(z*tan(thetaC));
+  v.SetXYZ(r*sin(thetaC)*cos(phiC), r*sin(thetaC)*sin(phiC), z);
+  return v;
+}
+TVector3 Swpt::direction() const
+{
+  // DG assuming again pads are sorted by layer
+  return SingleWedgePadTrigger::direction(m_pads[0],
+                                          SingleWedgePadTrigger::padOverlap(m_pads));
+}
+
+std::string vec2pickle(const Swpt::vpads_t &pads){
+    std::ostringstream oo;
+    oo<<"[";
+    for(size_t i=0; i<pads.size(); ++i) oo<<"{"<<pads[i].pickle()<<"}, ";
+    oo<<"]";
+    return oo.str();
+}
+std::string Swpt::pickle() const
+{
+    std::ostringstream oo;
+    oo<<"'pattern' : "<<     "'"<<m_pattern<<"'"<<           ", "
+      <<"'padIndices' : "       <<vec2str(m_padIndices)<<    ", "
+      <<"'alreadyCombined' : "  <<m_alreadyCombined<<        ", "
+      <<"'pads' : "             <<vec2pickle(m_pads)<<       ", "
+      <<"'halfPadIndices' : "   <<m_halfPadIndices.pickle()<<", ";
+    return oo.str();
+}
+
+bool Swpt::areInnerOuterConsistent(const EtaPhiHalf &inner, const EtaPhiHalf &outer, bool verbose) {
+// ASM-2016-10-4 : Figure out the logic behind this, the staggering changed now relaxing this a bit 
+//  bool mismatchEta(outer.ieta < inner.ieta || outer.ieta > inner.ieta + 1);
+//  bool mismatchPhi(outer.iphi < inner.iphi || outer.iphi > inner.iphi + 1);
+  bool mismatchEta(outer.ieta < inner.ieta - 4 || outer.ieta > inner.ieta + 4);
+  bool mismatchPhi(outer.iphi < inner.iphi - 4 || outer.iphi > inner.iphi + 4);
+  bool mismatch(mismatchEta || mismatchPhi);
+  (void) verbose;
+  // if(verbose) std::cout<<"areConsistent ? "
+  //                      <<(mismatch ? "no":"yes")
+  //                      <<" : inner "<<inner.str()<<", outer "<<outer.str()
+  //                      <<"(mismatchEta|mismatchPhi) = ("<<mismatchEta<<" | "<<mismatchPhi<<")"
+  //                      <<std::endl;
+  return !mismatch;
+}
+
+Swpt::EtaPhiHalf Swpt::bandIndices(const EtaPhiHalf &inner, const EtaPhiHalf &outer) {
+  // DG check that we should actually multiply *2 twice (it seems to be the case in the 1st implem)
+  bool sameEta(inner.ieta == outer.ieta), samePhi(inner.iphi == outer.iphi);
+  return EtaPhiHalf((sameEta ? inner.ieta * 2 : inner.ieta * 2 + 1),
+                    (samePhi ? inner.iphi * 2 : inner.iphi * 2 + 1));
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.h
new file mode 100644
index 00000000000..71020bcef1b
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/SingleWedgePadTrigger.h
@@ -0,0 +1,97 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef NSW_SINGLEPADWEDGETRIGGER_H
+#define NSW_SINGLEPADWEDGETRIGGER_H
+
+#include "EtaPhiRectangle.h"
+
+#include "TVector3.h"
+
+#include <string>
+#include <vector>
+
+/*!
+
+A trigger with coincident hits in at least 3 out of 4 layers within a wedge.
+
+davide.gerbaudo@gmail.com, April 2013
+*/
+
+namespace nsw {
+  class PadWithHits;
+}
+
+namespace nsw {
+  class SingleWedgePadTrigger {
+  public:
+    typedef std::vector< nsw::PadWithHits >   vpads_t;
+  public:
+    struct EtaPhi{  // just to have better naming than std::pair
+      int ieta, iphi;
+      EtaPhi(int e, int p) : ieta(e), iphi(p) {}
+      std::string str() const;
+      std::string pickle() const { return str(); }
+    private : EtaPhi(); // avoid gratuitous default constructor
+    };
+    struct EtaPhiHalf : EtaPhi { EtaPhiHalf(int e, int p) : EtaPhi(e,p){} }; // just to avoid mistakes
+    //! Determine whether two single-wedge triggers are consistent with each other.
+    /*! 'Consistent' here means that the difference in half-pad
+      indices is what we expect for a track ~pointing to the center of
+      the detector.
+
+      \todo We need a way to check (enforce) that the single-wedge
+      triggers are one inner and one outer.
+     */
+    static bool areInnerOuterConsistent(const EtaPhiHalf &inner,
+                                        const EtaPhiHalf &outer,
+                                        bool verbose=false);
+    static EtaPhiHalf bandIndices(const EtaPhiHalf &inner, const EtaPhiHalf &outer);
+    //! area that is overlapping between the pads that cause the trigger (pads are staggered)
+    static nsw::EtaPhiRectangle padOverlap(const vpads_t &pads);
+    //! direction of this trigger wrt. the origin
+    /*!
+      Direction defined by the origin of the detector and the center of
+      the quarter-pad area (corresponding to the overlap with the
+      other pads) on the first pad
+    */
+    static TVector3 direction(const nsw::PadWithHits &firstPad,
+                              const nsw::EtaPhiRectangle &overlap);
+  public:
+    SingleWedgePadTrigger(const std::string &pattern,
+                          const vpads_t &pads,
+                          const std::vector<size_t> &padIndices);
+    const std::string& pattern() const {return m_pattern;}
+    const std::vector<size_t> padIndices() const {return m_padIndices;}
+    EtaPhiHalf halfPadCoordinates() const;
+    //! use the first pad to determine whether it's a small/large sector
+    bool isSmallSector() const;
+    bool isLargeSector() const { return !isSmallSector(); }
+    float avgEtaFromFirstPad() const;
+    //! determine whether we are in the transition region
+    /*! The current implementation relies on the information from the
+      first pad DG In the future, we might want to use some geometric
+      pad info (center?)...good enough for now
+     */
+    bool isInTransitionRegion() const;
+    bool is4outOf4Layers() const { return (m_pads.size()==4); }
+    SingleWedgePadTrigger& setCombined() { m_alreadyCombined=true; return *this;}
+    bool alreadyCombined() const { return m_alreadyCombined; }
+    std::string pickle() const; //!< simple dict-like representation
+    const vpads_t& pads() const {return m_pads;}
+    TVector3 direction() const;
+  private:
+    std::string m_pattern;
+    EtaPhiHalf m_halfPadIndices;
+    std::vector<size_t> m_padIndices;
+    vpads_t m_pads;
+    bool m_alreadyCombined; //!< flag to keep track of whether this has already been combined w/ another wedge
+  }; // end class SingleWedgePadTrigger
+
+} // end namespace nsw
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.cxx
new file mode 100644
index 00000000000..6dc0b90775d
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.cxx
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+//Local includes
+#include "StripClusterOfflineData.h"
+
+#include <string>
+
+
+namespace NSWL1 {
+
+  StripClusterOfflineData::StripClusterOfflineData(int bandId,
+						   int isSmall,
+						   int moduleId,
+						   int sectorId,
+						   int wedge,
+						   int layer,
+						   int size,
+						   float charge,
+						   float globX,
+						   float globY,
+						   float globZ) : StripClusterData(),
+								  m_bandId(bandId),
+								  m_isSmall(isSmall),
+								  m_moduleId(moduleId),
+								  m_sectorId(sectorId),
+								  m_wedge(wedge),
+								  m_layer(layer),
+								  m_size(size),
+								  m_charge(charge),
+								  m_globX(globX),
+								  m_globY(globY),
+								  m_globZ(globZ){ }
+
+  StripClusterOfflineData::~StripClusterOfflineData() {
+    // StripOfflineData doesn't own the helper, so nothing to do here                                                                                                                                                                    
+  }
+
+
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.h
new file mode 100644
index 00000000000..60469c76b98
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterOfflineData.h
@@ -0,0 +1,97 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPCLUSTEROFFLINEDATA_H
+#define STRIPCLUSTEROFFLINEDATA_H
+
+// Identifier includes
+#include "Identifier/Identifier.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+// local includes
+#include "TrigT1NSWSimTools/StripClusterData.h"
+#include <string.h>
+
+// namespace for the NSW LVL1 related classes
+
+namespace NSWL1 {
+
+
+  /**
+   *
+   *   @short class modeling the strip hit fragment for the NSW L1 offline simulation
+   *
+   * This holds the hit offline identifier with the corresponding helper plus the following:
+   * Trigger BCID, strip charge, band Id, phi Id. Additional data can be added providing the
+   * relative access methods are also added in the abstract class.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *
+   *
+   */
+
+  class StripClusterOfflineData: public StripClusterData {
+
+  private:
+    int m_bandId;
+    int m_isSmall;
+    int m_moduleId;
+    int m_sectorId;
+    int m_wedge;
+    int m_layer;
+    int m_size;
+    float m_charge;
+    float m_globX;
+    float m_globY;
+    float m_globZ;
+
+  public:
+
+    StripClusterOfflineData(int bandId,
+			    int isSmall,
+			    int moduleId,
+			    int sectorId,
+			    int wedge,
+			    int layer,
+			    int size,
+			    float charge,
+			    float globX,
+			    float globY,
+			    float globZ);
+    ~StripClusterOfflineData();
+        
+   //! methods for retrieving the bare data
+    int set_bandId(int bandId);
+    bool set_isSmall(bool set_isSmall);
+    int set_moduleId(int moduleId);
+    int set_sectorId(int sectorId);
+    int set_wedge(int wedge);
+    int set_layer(int layer);
+    int set_size(int size);
+    float set_charge(float charge);
+    float set_globX(float globX);
+    float set_globY(float globY);
+    float set_globZ(float globZ);
+    
+
+
+    //! methods for retrieving the bare data
+    int bandId()  const {return m_bandId;}; //!< get the band id
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int isSmall() const {return m_isSmall;};
+    int moduleId() const {return m_moduleId;};
+    int sectorId() const {return m_sectorId;};
+    int wedge() const {return m_wedge;};
+    int layer() const {return m_layer;};
+    int size() const {return m_size;};
+    float charge() const {return m_charge;};
+    float globX() const {return m_globX;};
+    float globY() const {return m_globY;};
+    float globZ() const {return m_globZ;};
+     
+  };  // end of StripClusterOfflineData class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx
new file mode 100644
index 00000000000..b9e2149575f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx
@@ -0,0 +1,554 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+// local includes
+#include "StripClusterTool.h"
+#include "StripOfflineData.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// Muon software includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigitContainer.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility>
+
+using namespace std;
+
+
+namespace NSWL1 {
+
+    StripClusterTool::StripClusterTool( const std::string& type, const std::string& name, const IInterface* parent) :
+      AthAlgTool(type,name,parent),
+      m_incidentSvc("IncidentSvc",name),
+      m_rndmSvc("AtRndmGenSvc",name),
+      m_rndmEngine(0),
+      m_detManager(0),
+      m_sTgcIdHelper(0),
+      m_tree(0),
+      m_clusters()
+    {
+      declareInterface<NSWL1::IStripClusterTool>(this);
+      declareProperty("DoNtuple", m_doNtuple = true, "input the StripTds branches into the analysis ntuple");
+      declareProperty("sTGC_SdoContainerName", m_sTgcSdoContainer = "sTGC_SDO", "the name of the sTGC SDO container");
+    }
+
+    StripClusterTool::~StripClusterTool() {
+
+      // Clear Ntuple variables
+      //      if(m_cl_charge) delete m_cl_charge;
+      //if(m_cl_eta) delete m_cl_eta;
+      //if(m_cl_phi) delete m_cl_phi;
+
+
+    }
+
+
+
+  StatusCode StripClusterTool::initialize() {
+    ATH_MSG_INFO( "initializing " << name() );
+    ATH_MSG_INFO( name() << " configuration:");
+
+
+      const IInterface* parent = this->parent();
+      const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+      std::string algo_name = pnamed->name();
+
+      if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        ITHistSvc* tHistSvc;
+        StatusCode sc = service("THistSvc", tHistSvc);
+        if(sc.isFailure()) {
+          ATH_MSG_FATAL("Unable to retrieve THistSvc");
+          return sc;
+        }
+
+        char ntuple_name[40];
+        memset(ntuple_name,'\0',40*sizeof(char));
+        sprintf(ntuple_name,"%sTree",algo_name.c_str());
+
+        m_tree = 0;
+        sc = tHistSvc->getTree(ntuple_name,m_tree);
+
+        if (sc.isFailure()) {
+          ATH_MSG_FATAL("Could not retrieve the analysis ntuple from the THistSvc");
+          return sc;
+        } else {
+          ATH_MSG_INFO("Analysis ntuple succesfully retrieved");
+          sc = this->book_branches();
+          if (sc.isFailure()) {
+            ATH_MSG_ERROR("Cannot book the branches for the analysis ntuple");
+          }
+        }
+
+      }
+
+
+      // retrieve the Incident Service
+      if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+      }
+      m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+      // retrieve the Random Service
+      if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+      }
+
+      //  retrieve the MuonDetectormanager
+      if( detStore()->retrieve( m_detManager ).isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+      }
+
+      //  retrieve the sTGC offline Id helper
+      if( detStore()->retrieve( m_sTgcIdHelper ).isFailure() ){
+        ATH_MSG_FATAL("Failed to retrieve sTgcIdHelper");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("sTgcIdHelper successfully retrieved");
+      }
+
+      return StatusCode::SUCCESS;
+    }
+
+    void StripClusterTool::handle(const Incident& inc) {
+      if( inc.type()==IncidentType::BeginEvent ) {
+        this->reset_ntuple_variables();
+      }
+    }
+
+
+    StatusCode StripClusterTool::book_branches() {
+      m_cl_n= 0;
+      m_cl_charge = new std::vector< int >();
+      m_cl_size = new std::vector< int >();
+      m_cl_x= new std::vector< float >();
+      m_cl_y= new std::vector< float >();
+      m_cl_z= new std::vector< float >();
+      m_cl_lx= new std::vector< float >();
+      m_cl_ly= new std::vector< float >();
+      m_cl_lz= new std::vector< float >();
+      m_cl_ltgx= new std::vector< float >();
+      m_cl_ltgy= new std::vector< float >();
+      m_cl_ltgz= new std::vector< float >();
+
+      m_cl_truth_x= new std::vector<float >();
+      m_cl_truth_y= new std::vector<float >();
+      m_cl_truth_z= new std::vector<float>();
+
+      m_cl_truth_lx= new std::vector<float >();
+      m_cl_truth_ly= new std::vector<float >();
+      m_cl_truth_lz= new std::vector<float>();
+
+      m_cl_truth_E= new std::vector<float >();
+      m_cl_truth_n= new std::vector<int >();
+
+      m_cl_side= new std::vector<int>();
+      m_cl_isSmall= new std::vector<int>();
+      m_cl_wedge= new std::vector<int>();
+      m_cl_sector= new std::vector<int>();
+      m_cl_module= new std::vector<int>();
+      m_cl_layer= new std::vector<int>();
+      m_cl_bandId= new std::vector<int>();
+
+
+
+      if (m_tree) {
+	std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
+        const char* n = ToolName.c_str();
+        m_tree->Branch(TString::Format("%s_cl_n",n).Data(),&m_cl_n,TString::Format("%s_cl_n/i",n).Data());
+	m_tree->Branch(TString::Format("%s_cl_charge",n).Data(),&m_cl_charge);
+	m_tree->Branch(TString::Format("%s_cl_x",n).Data(),&m_cl_x);
+	m_tree->Branch(TString::Format("%s_cl_y",n).Data(),&m_cl_y);
+	m_tree->Branch(TString::Format("%s_cl_z",n).Data(),&m_cl_z);
+	m_tree->Branch(TString::Format("%s_cl_lx",n).Data(),&m_cl_lx);
+	m_tree->Branch(TString::Format("%s_cl_ly",n).Data(),&m_cl_ly);
+	m_tree->Branch(TString::Format("%s_cl_lz",n).Data(),&m_cl_lz);
+	m_tree->Branch(TString::Format("%s_cl_ltgx",n).Data(),&m_cl_ltgx);
+	m_tree->Branch(TString::Format("%s_cl_ltgy",n).Data(),&m_cl_ltgy);
+	m_tree->Branch(TString::Format("%s_cl_ltgz",n).Data(),&m_cl_ltgz);
+	m_tree->Branch(TString::Format("%s_cl_size",n).Data(),&m_cl_size);
+	m_tree->Branch(TString::Format("%s_cl_isSmall",n).Data(),&m_cl_isSmall);
+	m_tree->Branch(TString::Format("%s_cl_side",n).Data(),&m_cl_side);
+	m_tree->Branch(TString::Format("%s_cl_wedge",n).Data(),&m_cl_wedge);
+	m_tree->Branch(TString::Format("%s_cl_sector",n).Data(),&m_cl_sector);
+	m_tree->Branch(TString::Format("%s_cl_module",n).Data(),&m_cl_module);
+	m_tree->Branch(TString::Format("%s_cl_layer",n).Data(),&m_cl_layer);
+	m_tree->Branch(TString::Format("%s_cl_bandId",n).Data(),&m_cl_bandId);
+	m_tree->Branch(TString::Format("%s_cl_truth_x",n).Data(),&m_cl_truth_x);
+	m_tree->Branch(TString::Format("%s_cl_truth_y",n).Data(),&m_cl_truth_y);
+	m_tree->Branch(TString::Format("%s_cl_truth_z",n).Data(),&m_cl_truth_z);
+	m_tree->Branch(TString::Format("%s_cl_truth_lx",n).Data(),&m_cl_truth_lx);
+	m_tree->Branch(TString::Format("%s_cl_truth_ly",n).Data(),&m_cl_truth_ly);
+	m_tree->Branch(TString::Format("%s_cl_truth_lz",n).Data(),&m_cl_truth_lz);
+	m_tree->Branch(TString::Format("%s_cl_truth_E",n).Data(),&m_cl_truth_E);
+	m_tree->Branch(TString::Format("%s_cl_truth_n",n).Data(),&m_cl_truth_n);
+
+
+
+
+
+
+      }
+      else {
+         return StatusCode::FAILURE;
+      }
+      return StatusCode::SUCCESS;
+    }
+
+
+    void StripClusterTool::reset_ntuple_variables() {
+      // if ntuple is not booked nothing to do
+      if ( m_tree==0 ) return;
+      //reset the ntuple variables
+      clear_ntuple_variables();
+    }
+
+    void StripClusterTool::clear_ntuple_variables() {
+      //clear the ntuple variables
+      m_cl_n = 0;
+      m_cl_charge->clear();
+      m_cl_x->clear();
+      m_cl_y->clear();
+      m_cl_z->clear();
+
+      m_cl_lx->clear();
+      m_cl_ly->clear();
+      m_cl_lz->clear();
+
+      m_cl_ltgx->clear();
+      m_cl_ltgy->clear();
+      m_cl_ltgz->clear();
+
+      m_cl_size->clear();
+      m_cl_truth_x->clear();
+      m_cl_truth_y->clear();
+      m_cl_truth_z->clear();
+      m_cl_truth_E->clear();
+      m_cl_truth_n->clear();
+
+      m_cl_truth_lx->clear();
+      m_cl_truth_ly->clear();
+      m_cl_truth_lz->clear();
+
+
+      m_cl_side->clear();
+      m_cl_isSmall->clear();
+      m_cl_wedge->clear();
+      m_cl_sector->clear();
+      m_cl_module->clear();
+      m_cl_layer->clear();
+      m_cl_bandId->clear();
+
+      for( auto cl: m_clusters){
+	delete (cl);
+      }
+      m_clusters.clear();
+
+    }
+void StripClusterTool::fill_strip_validation_id(std::vector< NSWL1::StripClusterData *>& clusters) {
+
+    ATH_MSG_DEBUG("M_Clusters recieved " << m_clusters.size());
+
+
+
+
+
+    bool first_strip=true;
+    const MuonSimDataCollection* sdo_container = 0;
+    StatusCode sc = evtStore()->retrieve( sdo_container, m_sTgcSdoContainer.value().c_str() );
+    if ( !sc.isSuccess() ) {
+      ATH_MSG_WARNING("could not retrieve the sTGC SDO container: it will not be possible to associate the MC truth");
+    }
+    int n_clus=0;
+    for(unsigned int cl_i=0; cl_i < m_clusters.size();cl_i++){
+      ATH_MSG_DEBUG(" Start cl " << cl_i  << " OF " << m_clusters.size());
+      float x_pos=0;
+      float y_pos=0;
+      float z_pos=0;
+
+      float x_lpos=0;
+      float y_lpos=0;
+      float z_lpos=0;
+
+
+      int charge=0;
+      int n_strip=0;
+      ATH_MSG_DEBUG(" Start cl " << cl_i  << " OF " << m_clusters.size());
+
+      std::vector< StripData* >* this_cl=m_clusters.at(cl_i);
+      ATH_MSG_DEBUG(" Start cl " << cl_i  << " OF " << m_clusters.size());
+
+      first_strip=true;
+      float locx=-999999;
+      float locy=-999999;
+      if (this_cl->size()==0){
+  	ATH_MSG_DEBUG("Zero size cluster!!");
+  	continue;
+      }
+
+      for(unsigned int s_i=0; s_i < this_cl->size();s_i++){
+  	n_strip++;
+  	ATH_MSG_DEBUG("Start strip" << n_strip);
+	if(sdo_container && first_strip){ // Save truth deposits associated with cluster should be the same on for the whole strip, so take the first one need to work on this logic
+  	  first_strip=false;
+  	  Identifier Id = this_cl->at(s_i)->Identity();
+	  const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id);
+	  const MuonSimData strip_sdo = (sdo_container->find(Id))->second;
+	  std::vector<MuonSimData::Deposit> deposits;
+	  strip_sdo.deposits(deposits);
+	  //retrieve the info of the first associated hit, i.e. the fastest in time
+      	  if (deposits.size()!=1)ATH_MSG_WARNING("Multiple cluster hits for strip!");
+      	  if (deposits.size()==0){
+      	    ATH_MSG_WARNING("Empty hit here"); continue;}
+      	  int    truth_barcode   = deposits[0].first.barcode();
+       	  double truth_localPosX = deposits[0].second.firstEntry();
+      	  double truth_localPosY = deposits[0].second.secondEntry();
+	  Amg::Vector3D hit_gpos(0.,0.,0.);
+	  Amg::Vector2D lpos(truth_localPosX,truth_localPosY);
+      	  rdoEl->surface(Id).localToGlobal(lpos, hit_gpos,hit_gpos);
+	  double truth_globalPosX = hit_gpos.x();
+      	  double truth_globalPosY = hit_gpos.y();
+      	  double truth_globalPosZ = hit_gpos.z();
+
+	  float  truth_energy    = strip_sdo.word();
+
+	  //	  Amg::Vector2D  lpos;
+	  //Amg::Vector3D hit_gpos(truth_globalPosX, truth_globalPosY,truth_globalPosZ);
+	  //Amg::Vector3D orig(0,0,0);
+	  // This orig arugment dosen't appear to do anything
+	  //rdoEl->surface(Id).globalToLocal(hit_gpos, orig, lpos);
+
+      	  if(fabs(locx-lpos.x())>.001 || fabs(locy - lpos.y())>.001){
+      	    ATH_MSG_DEBUG("OLD locx " << locx <<" new locx "<<lpos.x() <<" b " << int(locx!=lpos.x()));
+      	    ATH_MSG_DEBUG("OLD locy " << locy <<" new locy "<<lpos.y() << " b " << int(locy!=lpos.y()));
+      	    ATH_MSG_DEBUG("Cluster hit, truth barcode=" << truth_barcode);
+      	    ATH_MSG_DEBUG("Cluster hit, truth globalPosX="   << truth_globalPosX
+      			  << ", truth globalPosY="   << truth_globalPosY
+      			  << ", truth globalPosZ="   << truth_globalPosZ
+      			  << ", truth enegy deposit ="   << truth_energy << std::endl);
+      	    ATH_MSG_DEBUG("Cluster hit, truth localPosX="   << lpos.x()
+      			  << ", truth localPosY="   <<  lpos.y()
+      			  << ", truth enegy deposit ="   << truth_energy << std::endl);
+
+	    m_cl_truth_x->push_back( hit_gpos.x() );
+      	    m_cl_truth_y->push_back( hit_gpos.y() );
+      	    m_cl_truth_z->push_back( hit_gpos.z() );
+
+      	    m_cl_truth_lx->push_back( lpos.x() );
+      	    m_cl_truth_ly->push_back( lpos.y() );
+      	    m_cl_truth_lz->push_back( 0 );
+
+      	    m_cl_truth_E->push_back( truth_energy );
+	    //m_cl_truth_n->push_back(n_clus  );
+
+      	    ///	    locx=lpos.x();
+      	    //	    locy=lpos.y();
+      	  }
+	}
+
+	ATH_MSG_DEBUG("Cluster " << this_cl << " strip: " << this_cl->at(s_i));
+	ATH_MSG_DEBUG("Cluster " << this_cl << " strip: " << this_cl->at(s_i) <<" charge: " << this_cl->at(s_i)->strip_charge_6bit());
+       	float s_charge=this_cl->at(s_i)->strip_charge_6bit();
+      	charge+=s_charge;
+      	x_pos+=this_cl->at(s_i)->globX()*s_charge;
+      	y_pos+=this_cl->at(s_i)->globY()*s_charge;
+      	z_pos+=this_cl->at(s_i)->globZ()*s_charge;
+
+      	x_lpos+=(this_cl->at(s_i)->locX())*s_charge;
+      	y_lpos+=(this_cl->at(s_i)->locY())*s_charge;
+      	z_lpos+=(this_cl->at(s_i)->locZ()) *s_charge;
+
+
+      	ATH_MSG_DEBUG("Cluster ------------------------------------------" );
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip charge: " << s_charge);
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip loc X: " << this_cl->at(s_i)->locX());
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip loc Y: " <<  this_cl->at(s_i)->locY());
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip glob X: " << this_cl->at(s_i)->globX());
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip glob Y: " << this_cl->at(s_i)->globY());
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip glob Z: " << this_cl->at(s_i)->globZ());
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip locx dist: " << locx-this_cl->at(s_i)->locX());
+      	ATH_MSG_DEBUG("Cluster " << cl_i << " strip charge o dist: " << s_charge/(locx-this_cl->at(s_i)->locX()));
+      	ATH_MSG_DEBUG("Channel " << s_i << this_cl->at(s_i)->channelId());
+
+      }
+      if (charge != 0){
+      	x_pos=x_pos/charge;
+      	y_pos=y_pos/charge;
+      	z_pos=z_pos/charge;
+      	x_lpos=x_lpos/charge;
+      y_lpos=y_lpos/charge;
+      z_lpos=z_lpos/charge;}
+      n_clus++;
+      m_cl_x->push_back(x_pos);
+      m_cl_y->push_back(y_pos);
+      m_cl_z->push_back(z_pos);
+
+      m_cl_lx->push_back(x_lpos);
+      m_cl_ly->push_back(y_lpos);
+      m_cl_lz->push_back(z_lpos);
+
+
+      // Identifier Id = this_cl->at(0)->Identity();
+      //Trk::LocalPosition cl_lo(x_pos,y_pos);
+    // const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id);
+    //const  Trk::GlobalPosition* hit_gpos = rdoEl->surface(Id).localToGlobal(cl_lo);
+    //m_cl_ltgx->push_back(hit_gpos->x());
+    //m_cl_ltgy->push_back(hit_gpos->y());
+    //m_cl_ltgz->push_back(hit_gpos->z());
+
+
+
+
+    m_cl_charge->push_back(charge);
+    m_cl_size->push_back(n_strip);
+
+    m_cl_side->push_back(m_clusters.at(cl_i)->at(0)->sideId() );
+    m_cl_isSmall->push_back(m_clusters.at(cl_i)->at(0)->isSmall() );
+    m_cl_wedge->push_back(m_clusters.at(cl_i)->at(0)->wedge());
+    m_cl_sector->push_back(m_clusters.at(cl_i)->at(0)->sectorId());
+    m_cl_module->push_back(m_clusters.at(cl_i)->at(0)->moduleId() );
+    m_cl_layer->push_back(m_clusters.at(cl_i)->at(0)->layer());
+    m_cl_bandId->push_back(m_clusters.at(cl_i)->at(0)->bandId());
+
+    ATH_MSG_DEBUG("Cluster dump with X:" << x_pos << " Y: " << y_pos << " Z: " << z_pos << " cluster charge: " << charge);
+    ATH_MSG_DEBUG("Cluster dump with lX:" << x_lpos << " lY: " << y_lpos << " lZ: " << z_lpos << " cluster charge: " << charge);
+
+
+    clusters.push_back(new NSWL1::StripClusterOfflineData(m_clusters.at(cl_i)->at(0)->bandId(),
+						 m_clusters.at(cl_i)->at(0)->isSmall(),
+						 m_clusters.at(cl_i)->at(0)->moduleId(),
+						 m_clusters.at(cl_i)->at(0)->sectorId(),
+						 m_clusters.at(cl_i)->at(0)->wedge(),
+						 m_clusters.at(cl_i)->at(0)->layer(),
+						 n_strip,
+						 charge,
+						 x_pos,
+						 y_pos,
+						 z_pos));
+
+
+
+
+    }
+
+    ATH_MSG_DEBUG("Finished Fill");
+  }
+
+
+  bool StripClusterTool::MatchModule(StripData* one, StripData* two){
+    return one->sideId() == two->sideId()          // side
+      && one->wedge()==two->wedge()    // Wedge
+      && one->sectorId()==two->sectorId()       // Sector
+      && one->moduleId()==two->moduleId()        //Eta station
+      && one->layer()==two->layer() ;       //layer
+  }
+
+  StatusCode StripClusterTool::cluster_strip_data(std::vector<StripData*>& strips, std::vector< NSWL1::StripClusterData * >& clusters){
+      std::vector<StripData*>::iterator hit=strips.begin();
+      std::vector<StripData*>::iterator hit_end=strips.end();
+      if (hit==hit_end)return StatusCode::SUCCESS;
+      std::vector<StripData*> *cr_cluster=new std::vector<StripData*>();
+      //      cr_cluster->push_back((*hit));
+      StripData* p_hit=nullptr;
+      int c_ch=(*hit)->channelId();
+      ATH_MSG_DEBUG("Cluster Hits :" << (*hit)->channelId() << " " << m_sTgcIdHelper->gasGap( (*hit)->Identity())
+		    << "   " <<   (*hit)->moduleId() << "   " << (*hit)->sectorId() << "   " <<(*hit)->wedge()
+		    << "  "<< (*hit)->sideId()  );
+      hit++;
+
+
+
+
+      for(;hit!=hit_end;hit++){
+
+	if(!(*hit)->readStrip() )continue;
+	if( ((*hit)->bandId()==-1) ){ // Someone from sTGC should really check this...
+	  ATH_MSG_WARNING("Read Strip without BandId :" << (*hit)->channelId() << " " << m_sTgcIdHelper->gasGap( (*hit)->Identity())
+		      << "   " <<   (*hit)->moduleId() << "   " << (*hit)->sectorId() << "   " <<(*hit)->wedge()
+		      << "  "<< (*hit)->sideId()   );
+	  continue;}
+
+	//Identifier hit_id=(*hit)->Identity();
+	bool sameMod=false;
+	if (!p_hit){
+	  cr_cluster->push_back((*hit));
+	  p_hit=(*hit);
+	  continue;
+	}
+	else{
+	  sameMod=MatchModule((*hit),p_hit);
+	}
+
+	if (!((*hit)->channelId()>c_ch && sameMod)) ATH_MSG_ERROR("Hits Ordered incorrectly!!!" ) ; // Someone from sTGC should really check this...
+	if ((*hit)->channelId()==c_ch+1 && sameMod){
+	  cr_cluster->push_back((*hit));
+	}
+	else if ((*hit)->channelId()==c_ch && sameMod){
+	  // Keep this for now
+	  //cr_cluster->push_back((*hit));
+	  ATH_MSG_ERROR("Hits entered twice Discarding!!! ChannelId: " << (*hit)->channelId() );
+
+	    }
+	else{
+	  //	  if (cr_cluster->size() >= 5)ATH_MSG_DEBUG("Large Cluster" << cr_cluster->size() << "hits cutting");
+	  //	  cr_cluster=new std::vector<StripData*>();
+	  // else {
+	    m_clusters.push_back(cr_cluster);
+	    ATH_MSG_DEBUG("Adding Cluster with " << cr_cluster->size() << "hits" << m_clusters.size() << " m_clusters so far");
+	    cr_cluster=new std::vector<StripData*>();
+	    cr_cluster->push_back(*hit);
+	    // }
+	}
+	p_hit=(*hit);
+	c_ch=(*hit)->channelId();
+      }
+      if(cr_cluster->size() != 0)m_clusters.push_back(cr_cluster);//don't forget the last cluster in the loop
+
+
+      // No sector implemented yet!!!
+      ATH_MSG_DEBUG("Found :" << m_clusters.size() << " M_Clusters ");
+
+
+
+      fill_strip_validation_id(clusters);
+      return StatusCode::SUCCESS;
+  }
+
+
+
+
+}
+
+//  LocalWords:  pos lpos
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.h
new file mode 100644
index 00000000000..10e1601e1bc
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.h
@@ -0,0 +1,133 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPCLUSTERTOOL_H
+#define STRIPCLUSTERTOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "GaudiKernel/Property.h"
+
+//local includes
+#include "TrigT1NSWSimTools/IStripClusterTool.h"
+#include "StripClusterOfflineData.h"
+#include "TrigT1NSWSimTools/PadTrigger.h"
+#include "TrigT1NSWSimTools/TriggerTypes.h"
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class sTgcIdHelper;
+class sTgcDigit;
+class TTree;
+
+namespace CLHEP {
+  class HepRandomEngine;
+}
+
+namespace MuonGM {
+  class MuonDetectorManager;
+}
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short interface for the StripTDS tools
+   *
+   * This class implements the Strip Clustering offline simulation. It loops over the hits,
+   * readout from the StripTDSOffLineTool
+   *
+   *  @author Jacob Searcy <jsearcy@cern.ch>
+   *
+   *
+   */
+
+  class StripClusterTool: virtual public IStripClusterTool, 
+                                   public AthAlgTool, 
+                                   public IIncidentListener {
+
+  public:
+    enum cStatus {OK, FILL_ERROR, CLEARED};
+
+    StripClusterTool(const std::string& type, 
+                      const std::string& name,
+                      const IInterface* parent);
+    virtual ~StripClusterTool();
+    virtual StatusCode initialize();
+    virtual void handle (const Incident& inc);
+    StatusCode cluster_strip_data(std::vector<StripData*>& strips,std::vector<NSWL1::StripClusterData *>& clusters);
+  private:
+    // methods implementing the internal data processing
+
+    StatusCode book_branches();                             //!< book the branches to analyze the StripTds behavior                                                                                           
+    void reset_ntuple_variables();                          //!< reset the variables used in the analysis ntuple                                                                                              
+    void clear_ntuple_variables();                          //!< clear the variables used in the analysis ntuple                                                                                              
+    void fill_strip_validation_id(std::vector<NSWL1::StripClusterData *>& clusters);  //!< fill the ntuple branch for the StripTdsOffline   
+    bool MatchModule(StripData* one, StripData* two);
+    
+
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const sTgcIdHelper*                m_sTgcIdHelper;      //!< sTgc offline Id helper
+
+    // analysis ntuple
+    TTree* m_tree;                                          //!< ntuple for analysis
+    BooleanProperty  m_doNtuple;                            //!< property, see @link StripTdsOfflineTool::StripTdsOfflineTool @endlink                         
+    StringProperty   m_sTgcSdoContainer;                    //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink                          
+    // analysis variable to be put into the ntuple
+    int m_cl_n;                                            //!< number of STRIP hit delivered
+    std::vector<int> *m_cl_charge;                           //!< charge of hit STRIPs 
+    std::vector<int> *m_cl_size;                           //!< charge of hit STRIPs 
+    std::vector<float> *m_cl_x;                           //!<global x  position of cluster
+    std::vector<float> *m_cl_y;                           //!<global y  position of cluster
+    std::vector<float> *m_cl_z;                           //!<global z  position of cluster
+    std::vector<float> *m_cl_lx;                           //!<global x  position of cluster
+    std::vector<float> *m_cl_ly;                           //!<global y  position of cluster
+    std::vector<float> *m_cl_lz;                           //!<global z  position of cluster
+    std::vector<float> *m_cl_ltgx;                           //!<global x  position of cluster
+    std::vector<float> *m_cl_ltgy;                           //!<global y  position of cluster
+    std::vector<float> *m_cl_ltgz;                           //!<global z  position of cluster
+
+    std::vector<float> *m_cl_truth_x;                           //!<global x  of first truth hit for strip in cluster
+    std::vector<float> *m_cl_truth_y;                           //!<global y  of first truth hit for strip in cluster
+    std::vector<float> *m_cl_truth_z;                           //!<global z  of first truth hit for strip in cluster
+
+    std::vector<float> *m_cl_truth_lx;                           //!<global x  of first truth hit for strip in cluster
+    std::vector<float> *m_cl_truth_ly;                           //!<global y  of first truth hit for strip in cluster
+    std::vector<float> *m_cl_truth_lz;                           //!<global z  of first truth hit for strip in cluster
+
+
+    std::vector<float> *m_cl_truth_E;                           //!<global energy of truth strip deposits
+    std::vector<int> *m_cl_truth_n;                           //!<Cluster index for truth strip hits
+
+    std::vector<int> *m_cl_side;
+    std::vector<int> *m_cl_isSmall;
+    std::vector<int> *m_cl_wedge;
+    std::vector<int> *m_cl_sector;
+    std::vector<int> *m_cl_module;
+    std::vector<int> *m_cl_layer;
+    std::vector<int> *m_cl_bandId;
+
+    //Cache that holds which strips to read based on bandid
+    // 2d-vector for eta/phi station coordinates
+    // map from BandID to a set of strips
+    
+    std::vector< std::vector < std::map<BandId_t, std::set<int> > > > *bandID_cache ;
+    std::vector< std::vector<StripData* >* > m_clusters;
+
+  };  // end of StripClusterTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripData.cxx
new file mode 100644
index 00000000000..9f0b3385ee3
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripData.cxx
@@ -0,0 +1,14 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TrigT1NSWSimTools/StripData.h"
+
+std::ostream& operator<<(std::ostream& stream, NSWL1::StripData& data) {
+  stream << "Strip hit at side " << ( (data.sideId())? "A":"C")
+	 << ", trigger sector " << data.sectorId()
+	 << ", layer " << data.layer()
+	 << ", wedge " << data.wedge();
+  return stream;
+}
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.cxx
new file mode 100644
index 00000000000..cee77f6da7f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.cxx
@@ -0,0 +1,184 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+//Local includes
+#include "StripOfflineData.h"
+
+#include <string>
+
+
+namespace NSWL1 {
+
+  StripOfflineData::StripOfflineData(Identifier id, const sTgcIdHelper* helper, const sTgcDigit* digit) : 
+    StripData(),
+    m_id(id), m_helper(helper),m_trig_bcid(0),m_band_id(-1)
+    {
+      m_strip_charge_6bit=digit-> charge_6bit(); 
+      m_strip_charge_10bit= digit-> charge_10bit();
+      m_strip_charge= digit-> charge();
+      m_strip_time=digit->time();
+    }
+
+    StripOfflineData::~StripOfflineData() {
+        // StripOfflineData doesn't own the helper, so nothing to do here
+    }
+
+    void StripOfflineData::setTrigBCID(int bcid) {
+        m_trig_bcid = bcid;
+    }
+
+    void StripOfflineData::setStripCharge_6bit(int charge) {
+        m_strip_charge_6bit = charge;
+    }
+
+    void StripOfflineData::setStripCharge_10bit(int charge) {
+        m_strip_charge_10bit = charge;
+    }
+
+    void StripOfflineData::setStripCharge(float charge) {
+        m_strip_charge = charge;
+
+    }
+
+
+    void StripOfflineData::setBandId(int band_id){
+        m_band_id = band_id;
+    }
+
+    void StripOfflineData::setPhiId(int phi_id) {
+        m_phi_id = phi_id;
+    }
+
+
+    //! methods for retrieving the bare data
+    uint32_t StripOfflineData::id()     const { return m_id.get_identifier32().get_compact(); }
+    float StripOfflineData::time()     const { return m_strip_time; }
+    Identifier StripOfflineData::Identity()     const { return m_id; }
+    int StripOfflineData::trig_BCID()        const { return m_trig_bcid; }
+    float StripOfflineData::strip_charge()    const {return  m_strip_charge;} 
+    int StripOfflineData::strip_charge_6bit()    const {return  m_strip_charge_6bit;} 
+    int StripOfflineData::strip_charge_10bit()    const {return  m_strip_charge_10bit;} 
+    
+    int StripOfflineData::bandId()      const { return m_band_id; }
+    int StripOfflineData::phiId()       const { return m_phi_id; }
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int StripOfflineData::sideId()      const { 
+        if (m_helper)  return (m_helper->stationEta(m_id)<0)? 0 : 1;
+        return -1;
+    }
+
+    int StripOfflineData::moduleId()    const {
+        if (m_helper)  return m_helper->stationEta(m_id);
+        return -1;
+    }
+
+    int StripOfflineData::sectorId()    const {
+      if (m_helper) {
+	//      std::string stName = m_helper->stationNameString(m_helper->stationName(m_id));
+        //    bool isSmall = stName[2]=='S';
+	return  m_helper->stationPhi(m_id);
+	    //    return (isSmall)? m_helper->stationPhi(m_id)*2 - 1 : m_helper->stationPhi(m_id)*2 - 2;
+      }
+      return -1;
+    }
+
+
+
+    std::string StripOfflineData::stationName()    const {
+        if (m_helper) {
+             return m_helper->stationNameString(m_helper->stationName(m_id));
+        }
+        return "";
+    }
+
+    char StripOfflineData::type()    const {
+        if (m_helper) {
+            std::string stName = m_helper->stationNameString(m_helper->stationName(m_id));
+            bool isSmall = stName[2]=='S';
+            return (isSmall)? 'S' : 'L';
+        }
+        return -1;
+    }
+
+
+  int StripOfflineData::isSmall() const {
+    if (m_helper) {
+      std::string stName = m_helper->stationNameString(m_helper->stationName(m_id));
+      bool isSmall = stName[2]=='S';
+      return isSmall;
+        }
+    return -1;
+  }
+
+
+  int StripOfflineData::wedge() const {
+    if (m_helper) return m_helper->multilayer(m_id) ;
+    return -1;
+  }
+
+  int StripOfflineData::layer()    const {
+    if (m_helper) return m_helper->gasGap(m_id) ; 
+    return -1;
+  }
+
+    int StripOfflineData::channelId()   const {
+        if (m_helper) return m_helper->channel(m_id) ;
+        return -1;
+    }
+
+  float StripOfflineData::globX()   const {
+    return  m_x; 
+      }
+  float StripOfflineData::globY()   const {
+    return m_y; 
+      }
+  float StripOfflineData::globZ()   const {
+    return  m_z; 
+      }
+
+  void StripOfflineData::set_globX(float pos)    {
+      m_x=pos; 
+      }
+  void StripOfflineData::set_globY(float pos)    {
+     m_y=pos; 
+      }
+  void StripOfflineData::set_globZ(float pos)    {
+      m_z=pos; 
+      }
+
+  float StripOfflineData::locX()   const {
+    return  m_lx; 
+      }
+  float StripOfflineData::locY()   const {
+    return m_ly; 
+      }
+  float StripOfflineData::locZ()   const {
+    return  m_lz; 
+      }
+
+
+  bool StripOfflineData::readStrip()   const {
+    return  m_read_strip;
+  }
+
+  void StripOfflineData::set_readStrip(bool readStrip)    {
+      m_read_strip=readStrip;  
+      }
+
+ 
+  void StripOfflineData::set_locX(float pos)    {
+      m_lx=pos; 
+      }
+  void StripOfflineData::set_locY(float pos)    {
+     m_ly=pos; 
+      }
+  void StripOfflineData::set_locZ(float pos)    {
+      m_lz=pos; 
+      }
+
+
+
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.h
new file mode 100644
index 00000000000..48d3407c6bc
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripOfflineData.h
@@ -0,0 +1,104 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPOFFLINEDATA_H
+#define STRIPOFFLINEDATA_H
+
+// Identifier includes
+#include "Identifier/Identifier.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+// local includes
+#include "TrigT1NSWSimTools/StripData.h"
+#include <string.h>
+
+// namespace for the NSW LVL1 related classes
+
+namespace NSWL1 {
+
+
+  /**
+   *
+   *   @short class modeling the strip hit fragment for the NSW L1 offline simulation
+   *
+   * This holds the hit offline identifier with the corresponding helper plus the following:
+   * Trigger BCID, strip charge, band Id, phi Id. Additional data can be added providing the
+   * relative access methods are also added in the abstract class.
+   *
+   *  @author Alessandro Di Mattia <dimattia@cern.ch>
+   *
+   *
+   */
+
+  class StripOfflineData: public StripData {
+
+  private:
+    const Identifier    m_id;            //!< offline identifier of the strip hit
+    const sTgcIdHelper* m_helper;        //!< helper for the identifier decoding
+    int                 m_trig_bcid;     //!< trig BCID 
+    float               m_strip_charge;  //!< strip charge
+    float               m_strip_time;  //!< strip time
+    int               m_strip_charge_10bit;  //!< strip 10 bit charge
+    int               m_strip_charge_6bit;  //!< strip 6 bit charge
+    int                 m_band_id;       //!< band id
+    int                 m_phi_id;        //!< phi id
+    float               m_x,m_y,m_z=0;
+    float               m_lx,m_ly,m_lz=0;
+    bool                m_read_strip;
+
+  public:
+    StripOfflineData(Identifier id, const sTgcIdHelper* helper, const sTgcDigit* digit);
+    ~StripOfflineData();
+
+    void setTrigBCID(int bcid);          //!< set the trig BCID
+    void setStripCharge(float charge);   //!< set the strip charge
+    void setStripCharge_6bit(int charge);   //!< set the 6bit strip charge
+    void setStripCharge_10bit(int charge);   //!< set the 10 bit strip charge
+    void setBandId(int band_id);         //!< set the band id
+    void setPhiId(int phi_id);           //!< set the phi id
+    void set_readStrip(bool readStrip);
+        
+    //! methods for retrieving the bare data
+    uint32_t id()        const;  //!< get the 32 bit word identifing the fragment
+    float time()     const;
+    Identifier Identity()     const;  //!< return indentifier
+    int BCID()        const;  //!< get the BCID
+    float charge()     const;  //!< get the charge
+    int trig_BCID()    const;  //!< get the BCID
+    float strip_charge()   const;  //!< get the charge
+    int strip_charge_6bit()  const;  //!< get the charge
+    int strip_charge_10bit() const;  //!< get the charge
+    bool readStrip() const;  //!< Check if strip should be read
+    int bandId()      const;  //!< get the band id
+    int phiId()       const;  //!< get the phi id
+
+    //! helper  methods decoding the hit fragment position within the NSW detector
+    int sideId()      const;  //!< get the side (0==sideC, 1==sideA)
+    int isSmall()      const;  //!< get the side (0==sideC, 1==sideA)
+    int moduleId()    const;  //!< get the physics module (ranging from 0 at lowest R to 3 at highest R)
+    int sectorId()    const;  //!< get the sector (ranging from 0 to 15)
+    int wedge() const;  //!< get the multiplet (ranging from 0 to 1, 1 is at lowest |z|)
+    int layer()    const;  //!< get the gas gap (ranging from 0 to 3, 1 is at lowest |z|)
+    int channelId()   const;  //!< get the channel
+    float globX()       const;  //!< get the X position
+    float globY()       const;  //!< get the Y position
+    float globZ()       const;  //!< get the Z position
+    void set_globX(float pos);  //!< get the X position
+    void set_globY(float pos);  //!< get the Y position
+    void set_globZ(float pos);  //!< get the Z position
+    char type()    const;
+    std::string stationName() const;
+    float locX()       const;  //!< get the X position
+    float locY()       const;  //!< get the Y position
+    float locZ()       const;  //!< get the Z position
+    void set_locX(float pos);  //!< get the X position
+    void set_locY(float pos);  //!< get the Y position
+    void set_locZ(float pos);  //!< get the Z position
+
+    
+  };  // end of StripOfflineData class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.cxx
new file mode 100644
index 00000000000..45fe93619fe
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.cxx
@@ -0,0 +1,312 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+// local includes
+#include "StripSegmentTool.h"
+#include "StripOfflineData.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// Muon software includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigitContainer.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility>
+#include <math.h>      
+
+using namespace std;
+
+
+namespace NSWL1 {
+
+    StripSegmentTool::StripSegmentTool( const std::string& type, const std::string& name, const IInterface* parent) :
+      AthAlgTool(type,name,parent),
+      m_incidentSvc("IncidentSvc",name),
+      m_rndmSvc("AtRndmGenSvc",name),
+      m_rndmEngine(0),
+      m_detManager(0),
+      m_sTgcIdHelper(0),
+      m_tree(0)
+
+    {
+      declareInterface<NSWL1::IStripSegmentTool>(this);
+
+      declareProperty("DoNtuple", m_doNtuple = true, "input the StripTds branches into the analysis ntuple"); 
+      declareProperty("sTGC_SdoContainerName", m_sTgcSdoContainer = "sTGC_SDO", "the name of the sTGC SDO container");
+    }
+
+    StripSegmentTool::~StripSegmentTool() {
+
+      // Clear Ntuple variables
+      //      if(m_cl_charge) delete m_cl_charge;
+      //if(m_cl_eta) delete m_cl_eta;
+      //if(m_cl_phi) delete m_cl_phi;
+
+
+    }
+
+ 
+  
+  StatusCode StripSegmentTool::initialize() {
+    ATH_MSG_INFO( "initializing " << name() ); 
+    
+    ATH_MSG_INFO( name() << " configuration:"); 
+
+      const IInterface* parent = this->parent();
+      const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+      std::string algo_name = pnamed->name();
+
+      if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        ITHistSvc* tHistSvc;
+        StatusCode sc = service("THistSvc", tHistSvc);
+        if(sc.isFailure()) {
+          ATH_MSG_FATAL("Unable to retrieve THistSvc");
+          return sc;
+        }
+
+        char ntuple_name[40];
+        memset(ntuple_name,'\0',40*sizeof(char));
+        sprintf(ntuple_name,"%sTree",algo_name.c_str());
+
+        m_tree = 0;
+        sc = tHistSvc->getTree(ntuple_name,m_tree);
+
+        if (sc.isFailure()) {
+          ATH_MSG_FATAL("Could not retrieve the analysis ntuple from the THistSvc");
+          return sc;
+        } else {
+          ATH_MSG_INFO("Analysis ntuple succesfully retrieved");
+          sc = this->book_branches();
+          if (sc.isFailure()) {
+            ATH_MSG_ERROR("Cannot book the branches for the analysis ntuple");
+          }
+        }
+
+      }
+
+
+      // retrieve the Incident Service
+      if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+      }
+      m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+      // retrieve the Random Service
+      if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+      }
+
+      //  retrieve the MuonDetectormanager
+      if( detStore()->retrieve( m_detManager ).isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+      }
+
+      //  retrieve the sTGC offline Id helper
+      if( detStore()->retrieve( m_sTgcIdHelper ).isFailure() ){
+        ATH_MSG_FATAL("Failed to retrieve sTgcIdHelper");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("sTgcIdHelper successfully retrieved");
+      }
+ 
+      return StatusCode::SUCCESS;
+    }
+
+    void StripSegmentTool::handle(const Incident& inc) {
+      if( inc.type()==IncidentType::BeginEvent ) {
+        this->reset_ntuple_variables();
+      }
+    }
+
+  
+    StatusCode StripSegmentTool::find_segments(std::vector< StripClusterData * >& clusters){
+      
+      
+
+      std::map<int, std::vector<StripClusterData*>[2] > cluster_map; // gather clusters by bandID and seperate in wedge
+
+
+      for( auto cl : clusters){
+	auto item =cluster_map.find(cl->bandId());
+	if (item != cluster_map.end()){
+	  item->second[cl->wedge()-1].push_back(cl);
+	  }
+	else{
+	  cluster_map[cl->bandId()][cl->wedge()-1].push_back(cl);
+	}
+
+      }
+      
+      for(auto band : cluster_map){
+	int bandId=band.first;
+	if ((band.second[0].size() == 0) || (band.second[1].size() == 0)) continue;
+
+	//first measuement
+	float r1=0;
+	float z1=0;
+	for( auto cl : band.second[0] ){
+	  r1+=sqrt(pow(cl->globX(),2)+pow(cl->globY(),2));
+	  z1+=cl->globZ();
+	}
+
+	//first measuement
+	float r2=0;
+	float z2=0;
+	for( auto cl : band.second[1] ){
+	  r2+=sqrt(pow(cl->globX(),2)+pow(cl->globY(),2));
+	  z2+=cl->globZ();
+	}
+
+	r1=r1/band.second[0].size();
+	z1=z1/band.second[0].size();
+
+	r2=r2/band.second[1].size();
+	z2=z2/band.second[1].size();
+
+	float slope=(r2-r1)/(z2-z1);
+	float avg_r=(r1+r2)/2.;
+	float avg_z=(z1+z2)/2.;
+	float inf_slope=(avg_r/avg_z);
+	//float dR=slope-inf_slope;
+	float theta_inf=atan(inf_slope);
+	float theta=atan(slope);
+	float dtheta=(theta_inf-theta)*1000;//In Milliradian
+
+
+	ATH_MSG_INFO("r1 " << r1 <<" r2 " << r2 << " z1 " << z1 << " z2 " <<z2 << " bandId " << bandId << " slope " << slope <<" inf_slope " << inf_slope << " theta" << theta << " inf theta " << theta_inf );
+
+
+	m_seg_wedge1_size->push_back(band.second[0].size());
+	m_seg_wedge2_size->push_back(band.second[1].size());
+
+	m_seg_bandId->push_back(bandId);
+	m_seg_theta->push_back(theta);
+	m_seg_dtheta->push_back(dtheta);
+	m_seg_eta->push_back(-99);
+	m_seg_phi->push_back(-99);
+	m_seg_global_r->push_back(avg_r); 
+	m_seg_global_y->push_back(-999); 
+	m_seg_global_z->push_back(avg_z); 
+	m_seg_dir_r->push_back(slope); 
+	m_seg_dir_y->push_back(-99); 
+	m_seg_dir_z->push_back(-99); 
+      }
+
+
+
+      return StatusCode::SUCCESS;
+    }
+
+    StatusCode StripSegmentTool::book_branches() {
+      // m_cl_n= 0;
+      // m_cl_charge = new std::vector< int >();
+
+      m_seg_theta = new std::vector< float >();    
+      m_seg_dtheta = new std::vector< float >();
+      m_seg_eta = new std::vector< float >();   
+      m_seg_phi = new std::vector< float >();
+      m_seg_global_r = new std::vector< float >();
+      m_seg_global_y = new std::vector< float >();
+      m_seg_global_z = new std::vector< float >();
+      m_seg_dir_r = new std::vector< float >();
+      m_seg_dir_y = new std::vector< float >();
+      m_seg_dir_z = new std::vector< float >();
+      m_seg_bandId = new std::vector< int >();
+      m_seg_wedge1_size = new std::vector< int >();
+      m_seg_wedge2_size = new std::vector< int >();
+
+       if (m_tree) {
+	 std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
+         const char* n = ToolName.c_str();
+         m_tree->Branch(TString::Format("%s_seg_theta",n).Data(),&m_seg_theta);
+         m_tree->Branch(TString::Format("%s_seg_dtheta",n).Data(),&m_seg_dtheta);
+
+         m_tree->Branch(TString::Format("%s_seg_eta",n).Data(),&m_seg_eta);
+         m_tree->Branch(TString::Format("%s_seg_phi",n).Data(),&m_seg_phi);
+
+         m_tree->Branch(TString::Format("%s_seg_global_r",n).Data(),&m_seg_global_r);
+         m_tree->Branch(TString::Format("%s_seg_global_y",n).Data(),&m_seg_global_y);
+         m_tree->Branch(TString::Format("%s_seg_global_z",n).Data(),&m_seg_global_z);
+
+
+         m_tree->Branch(TString::Format("%s_seg_dir_r",n).Data(),&m_seg_dir_r);
+         m_tree->Branch(TString::Format("%s_seg_dir_y",n).Data(),&m_seg_dir_y);
+         m_tree->Branch(TString::Format("%s_seg_dir_z",n).Data(),&m_seg_dir_z);
+         m_tree->Branch(TString::Format("%s_seg_bandId",n).Data(),&m_seg_bandId);
+         m_tree->Branch(TString::Format("%s_seg_wedge1_size",n).Data(),&m_seg_wedge1_size);
+         m_tree->Branch(TString::Format("%s_seg_wedge2_size",n).Data(),&m_seg_wedge2_size);
+
+
+       }
+      // else { 
+      //    return StatusCode::FAILURE;
+      // }
+      return StatusCode::SUCCESS;
+    }
+
+
+
+    void StripSegmentTool::reset_ntuple_variables() {
+      // if ntuple is not booked nothing to do
+      if ( m_tree==0 ) return;
+      //reset the ntuple variables
+      clear_ntuple_variables();
+    }
+
+    void StripSegmentTool::clear_ntuple_variables() {
+      m_seg_theta->clear();    
+      m_seg_dtheta->clear();
+      m_seg_eta->clear();   
+      m_seg_phi->clear();
+      m_seg_global_r->clear();
+      m_seg_global_y->clear();
+      m_seg_global_z->clear();
+      m_seg_dir_r->clear();
+      m_seg_dir_y->clear();
+      m_seg_dir_z->clear();
+      m_seg_bandId->clear();
+      m_seg_wedge2_size->clear();
+      m_seg_wedge1_size->clear();
+  }
+
+
+ 
+
+
+
+
+}
+
+//  LocalWords:  pos lpos
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.h
new file mode 100644
index 00000000000..1aeaeff8fcb
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripSegmentTool.h
@@ -0,0 +1,106 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPSEGMENTTOOL_H
+#define STRIPSEGMENTTOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "GaudiKernel/Property.h"
+
+//local includes
+#include "TrigT1NSWSimTools/IStripSegmentTool.h"
+#include "TrigT1NSWSimTools/PadTrigger.h"
+#include "TrigT1NSWSimTools/TriggerTypes.h"
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class sTgcIdHelper;
+class sTgcDigit;
+class TTree;
+
+namespace CLHEP {
+  class HepRandomEngine;
+}
+
+namespace MuonGM {
+  class MuonDetectorManager;
+}
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short interface for the StripTDS tools
+   *
+   * This class implements the Strip Clustering offline simulation. It loops over the hits,
+   * readout from the StripTDSOffLineTool
+   *
+   *  @author Jacob Searcy <jsearcy@cern.ch>
+   *
+   *
+   */
+
+  class StripSegmentTool: virtual public IStripSegmentTool, 
+                                   public AthAlgTool, 
+                                   public IIncidentListener {
+
+  public:
+    enum cStatus {OK, FILL_ERROR, CLEARED};
+
+    StripSegmentTool(const std::string& type, 
+                      const std::string& name,
+                      const IInterface* parent);
+    virtual ~StripSegmentTool();
+    virtual StatusCode initialize();
+    virtual void handle (const Incident& inc);
+    StatusCode find_segments(std::vector< StripClusterData * >& clusters);
+
+  private:
+    // methods implementing the internal data processing
+
+    StatusCode book_branches();                             //!< book the branches to analyze the StripTds behavior                                                                                           
+    void reset_ntuple_variables();                          //!< reset the variables used in the analysis ntuple                                                                                              
+    void clear_ntuple_variables();                          //!< clear the variables used in the analysis ntuple                                                                                              
+    //    void fill_strip_validation_id(std::vector< std::vector<StripData*>* >& clusters);                        //!< fill the ntuple branch for the StripTdsOffline   
+    
+
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const sTgcIdHelper*                m_sTgcIdHelper;      //!< sTgc offline Id helper
+
+    // analysis ntuple
+    TTree* m_tree;                                          //!< ntuple for analysis
+    BooleanProperty  m_doNtuple;                            //!< property, see @link StripTdsOfflineTool::StripTdsOfflineTool @endlink                         
+    StringProperty   m_sTgcSdoContainer;                    //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink                          
+    // analysis variable to be put into the ntuple
+    int m_seg_n;                                            //!< number of Segments found
+    std::vector<int> *m_seg_wedge1_size;                        //!< theta
+    std::vector<int> *m_seg_wedge2_size;                        //!< theta
+    std::vector<float> *m_seg_theta;                        //!< theta
+    std::vector<float> *m_seg_dtheta;                       //!< delta theta
+    std::vector<float> *m_seg_eta;                          //!< m_seg_eta
+    std::vector<float> *m_seg_phi;
+    std::vector<int> *m_seg_bandId;
+    std::vector<float> *m_seg_global_r;
+    std::vector<float> *m_seg_global_y;
+    std::vector<float> *m_seg_global_z;
+    std::vector<float> *m_seg_dir_r;
+    std::vector<float> *m_seg_dir_y;
+    std::vector<float> *m_seg_dir_z; 
+    
+				   };  // end of StripSegmentTool class
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.cxx
new file mode 100644
index 00000000000..c93451d861e
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.cxx
@@ -0,0 +1,687 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Athena/Gaudi includes
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+
+// local includes
+#include "StripTdsOfflineTool.h"
+#include "StripOfflineData.h"
+
+//Event info includes
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+// Muon software includes
+#include "MuonReadoutGeometry/MuonDetectorManager.h"
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
+#include "MuonIdHelpers/sTgcIdHelper.h"
+#include "MuonDigitContainer/sTgcDigitContainer.h"
+#include "MuonDigitContainer/sTgcDigit.h"
+#include "MuonSimData/MuonSimDataCollection.h"
+#include "MuonSimData/MuonSimData.h"
+#include "MuonAGDDDescription/sTGCDetectorDescription.h"
+#include "MuonAGDDDescription/sTGCDetectorHelper.h"
+// random numbers
+#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandGauss.h"
+
+// local includes
+#include "TTree.h"
+#include "TVector3.h"
+
+#include <functional>
+#include <algorithm>
+#include <map>
+#include <utility>
+
+using namespace std;
+
+
+namespace NSWL1 {
+
+    struct StripHits {
+      Identifier      t_id;
+      StripOfflineData* t_strip;
+      int             t_cache_index;
+
+      // constructor      
+      StripHits(Identifier id, StripOfflineData* p, int c) { t_id = id; t_strip=p; t_cache_index=c; }
+    };
+
+
+    typedef std::map < Identifier,std::vector<StripHits> > STRIP_MAP;
+    typedef std::map < Identifier,std::vector<StripHits> >::iterator STRIP_MAP_IT;
+    typedef std::pair< Identifier,std::vector<StripHits> > STRIP_MAP_ITEM;
+
+
+    StripTdsOfflineTool::StripTdsOfflineTool( const std::string& type, const std::string& name, const IInterface* parent) :
+      AthAlgTool(type,name,parent),
+      m_incidentSvc("IncidentSvc",name),
+      m_rndmSvc("AtRndmGenSvc",name),
+      m_rndmEngine(0),
+      m_detManager(0),
+      m_sTgcIdHelper(0),
+      m_strip_cache_runNumber(-1),
+      m_strip_cache_eventNumber(-1),
+      m_strip_cache_status(CLEARED),
+      m_tree(0)
+
+    {
+      declareInterface<NSWL1::IStripTdsTool>(this);
+
+      declareProperty("RndmEngineName", m_rndmEngineName = "StripTdsOfflineTool", "the name of the random engine");
+      declareProperty("sTGC_DigitContainerName", m_sTgcDigitContainer = "sTGC_DIGITS", "the name of the sTGC digit container");
+      declareProperty("sTGC_SdoContainerName", m_sTgcSdoContainer = "sTGC_SDO", "the name of the sTGC SDO container");
+      declareProperty("DoNtuple", m_doNtuple = false, "input the StripTds branches into the analysis ntuple"); 
+
+      // reserve enough slots for the trigger sectors and fills empty vectors
+      // std::vector< std::vector<StripData*> >::iterator it = m_strip_cache.begin();
+      std::vector<StripData*>::iterator it = m_strip_cache.begin();
+    }
+
+    StripTdsOfflineTool::~StripTdsOfflineTool() {
+      // clear the internal cache
+      this->clear_cache();
+      // Clear Ntuple variables
+      if(m_stripCharge) delete m_stripCharge;
+      if(m_stripCharge_6bit) delete m_stripCharge_6bit;
+      if(m_stripCharge_10bit) delete m_stripCharge_10bit;
+
+
+    }
+
+    void StripTdsOfflineTool::clear_cache() {
+      ATH_MSG_INFO( "Clearing Strip Cache"); 
+      for(unsigned int i = 0; i < m_strip_cache.size(); ++i)
+	delete m_strip_cache[i];
+      m_strip_cache.clear();     
+    }
+  
+  StatusCode StripTdsOfflineTool::initialize() {
+    ATH_MSG_INFO( "initializing " << name() ); 
+    
+    ATH_MSG_INFO( name() << " configuration:");
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_rndmEngineName.name() << m_rndmEngineName.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_sTgcDigitContainer.name() << m_sTgcDigitContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_sTgcSdoContainer.name() << m_sTgcSdoContainer.value());
+    ATH_MSG_INFO(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
+                       << setfill(' ') << setiosflags(ios::right) );
+
+ 
+
+      const IInterface* parent = this->parent();
+      const INamedInterface* pnamed = dynamic_cast<const INamedInterface*>(parent);
+      std::string algo_name = pnamed->name();
+      
+      if ( m_doNtuple && algo_name=="NSWL1Simulation" ) {
+        ITHistSvc* tHistSvc;
+	StatusCode sc = service("THistSvc", tHistSvc);
+        if(sc.isFailure()) {
+          ATH_MSG_FATAL("Unable to retrieve THistSvc");
+          return sc;
+        }
+
+        char ntuple_name[40];
+        memset(ntuple_name,'\0',40*sizeof(char));
+        sprintf(ntuple_name,"%sTree",algo_name.c_str());
+
+        m_tree = 0;
+        sc = tHistSvc->getTree(ntuple_name,m_tree);
+        if (sc.isFailure()) {
+          this->clear_ntuple_variables();
+          ATH_MSG_FATAL("Could not retrieve the analysis ntuple from the THistSvc");
+          return sc;
+        } else {
+          ATH_MSG_INFO("Analysis ntuple succesfully retrieved");
+          sc = this->book_branches();
+          if (sc.isFailure()) {
+            ATH_MSG_ERROR("Cannot book the branches for the analysis ntuple");
+          }
+        }
+
+      };
+
+      // retrieve the Incident Service
+      if( m_incidentSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Incident Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Incident Service successfully rertieved");
+      }
+      m_incidentSvc->addListener(this,IncidentType::BeginEvent);
+
+      // retrieve the Random Service
+      if( m_rndmSvc.retrieve().isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the Random Number Service");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("Random Number Service successfully retrieved");
+      }
+
+      // retrieve the random engine
+      m_rndmEngine = m_rndmSvc->GetEngine(m_rndmEngineName);
+      if (m_rndmEngine==0) {
+        ATH_MSG_FATAL("Could not retrieve the random engine " << m_rndmEngineName);
+        return StatusCode::FAILURE;
+      }
+
+      //  retrieve the MuonDetectormanager
+      if( detStore()->retrieve( m_detManager ).isFailure() ) {
+        ATH_MSG_FATAL("Failed to retrieve the MuonDetectorManager");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("MuonDetectorManager successfully retrieved");
+      }
+
+      //  retrieve the sTGC offline Id helper
+      if( detStore()->retrieve( m_sTgcIdHelper ).isFailure() ){
+        ATH_MSG_FATAL("Failed to retrieve sTgcIdHelper");
+        return StatusCode::FAILURE;
+      } else {
+        ATH_MSG_INFO("sTgcIdHelper successfully retrieved");
+      }
+ 
+      return StatusCode::SUCCESS;
+    }
+
+    void StripTdsOfflineTool::handle(const Incident& inc) {
+      if( inc.type()==IncidentType::BeginEvent ) {
+        this->clear_cache();  
+        this->reset_ntuple_variables();
+
+        m_strip_cache_status = CLEARED;
+      }
+    }
+
+
+    StatusCode StripTdsOfflineTool::book_branches() {
+      m_nStripHits = 0;
+      m_stripCharge= new std::vector< float >();
+      m_stripCharge_6bit= new std::vector< float >();
+      m_stripCharge_10bit= new std::vector< float >();
+      m_strip_global_X= new std::vector< float >();
+      m_strip_global_Y= new std::vector< float >();
+      m_strip_global_Z= new std::vector< float >();
+      m_strip_local_X= new std::vector< float >();
+      m_strip_local_Y= new std::vector< float >();
+      m_strip_layer= new std::vector< float >();
+      m_strip_isSmall= new std::vector< float >();
+      m_strip_eta= new std::vector< float >();
+      m_strip_phi= new std::vector< float >();
+      m_strip_channel= new std::vector< int >();
+      m_strip_BCID= new std::vector< int >();
+      m_strip_wedge= new std::vector< int >();
+      m_strip_time= new std::vector< float >();
+
+
+
+
+      if (m_tree) {
+	std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
+        const char* n = ToolName.c_str();
+        m_tree->Branch(TString::Format("%s_nStripHits",n).Data(),&m_nStripHits,TString::Format("%s_nStripHits/i",n).Data());
+	ATH_MSG_INFO("StripTdsOfflineTool Booking variable" << TString::Format("%s_nStripHits",n).Data());
+	m_tree->Branch(TString::Format("%s_charge",n).Data(),&m_stripCharge);
+	m_tree->Branch(TString::Format("%s_charge_6bit",n).Data(),&m_stripCharge_6bit);
+	m_tree->Branch(TString::Format("%s_charge_10bit",n).Data(),&m_stripCharge_10bit);
+	m_tree->Branch(TString::Format("%s_global_X",n).Data(),&m_strip_global_X);
+	m_tree->Branch(TString::Format("%s_global_Y",n).Data(),&m_strip_global_Y);
+	m_tree->Branch(TString::Format("%s_global_Z",n).Data(),&m_strip_global_Z);
+	m_tree->Branch(TString::Format("%s_local_X",n).Data(),&m_strip_local_X);
+	m_tree->Branch(TString::Format("%s_local_Y",n).Data(),&m_strip_local_Y);
+	m_tree->Branch(TString::Format("%s_layer",n).Data(),&m_strip_layer);
+	m_tree->Branch(TString::Format("%s_isSmall",n).Data(),&m_strip_isSmall);
+	m_tree->Branch(TString::Format("%s_eta",n).Data(),&m_strip_eta);
+	m_tree->Branch(TString::Format("%s_phi",n).Data(),&m_strip_phi);
+	m_tree->Branch(TString::Format("%s_readStrip",n).Data(),&m_strip_readStrip);
+
+	m_tree->Branch(TString::Format("%s_channel",n).Data(),&m_strip_channel);
+	m_tree->Branch(TString::Format("%s_BCID",n).Data(),&m_strip_BCID);
+	m_tree->Branch(TString::Format("%s_wedge",n).Data(),&m_strip_wedge);
+	m_tree->Branch(TString::Format("%s_time",n).Data(),&m_strip_time);
+
+
+//	m_tree->Branch(TString::Format("%s_stripTruthHitGlobalX",n).Data(),&m_stripTruthHitGlobalX);
+//	m_tree->Branch(TString::Format("%s_stripTruthHitGlobalY",n).Data(),&m_stripTruthHitGlobalY);
+//	m_tree->Branch(TString::Format("%s_stripTruthHitGlobalZ",n).Data(),&m_stripTruthHitGlobalZ);
+
+      
+
+      //   m_tree->Branch(TString::Format("%s_stripGlobalY",n).Data(),&m_stripGlobalY);
+      //   m_tree->Branch(TString::Format("%s_stripGlobalZ",n).Data(),&m_stripGlobalZ);
+      //  m_tree->Branch(TString::Format("%s_stripTruthHitGlobal",n).Data(),&m_stripTruthHitGlobalZ);
+      //   m_tree->Branch(TString::Format("%s_stripEtaIdFromOfflineId",n).Data(),&m_stripEtaIdFromOfflineId);
+      //   m_tree->Branch(TString::Format("%s_stripPhiIdFromOfflineId",n).Data(),&m_stripPhiIdFromOfflineId);
+      //   m_tree->Branch(TString::Format("%s_stripIsSmallIdFromOfflineId",n).Data(),&m_stripIsSmallFromOfflineId);
+      //   m_tree->Branch(TString::Format("%s_stripLayerFromOfflineId",n).Data(),&m_stripLayerFromOfflineId);
+      //   m_tree->Branch(TString::Format("%s_offlineIdStripEtaIdConverted",n).Data(),&m_offlineIdStripEtaConverted);
+      //   m_tree->Branch(TString::Format("%s_offlineIdStripPhiIdConverted",n).Data(),&m_offlineIdStripPhiConverted);
+      //   m_tree->Branch(TString::Format("%s_stripEtaIdFromOldSimu",n).Data(),&m_stripEtaIdFromOldSimu);
+      //   m_tree->Branch(TString::Format("%s_stripPhiIdFromOldSimu",n).Data(),&m_stripPhiIdFromOldSimu);
+      }
+      else { 
+         return StatusCode::FAILURE;
+      }
+      return StatusCode::SUCCESS;
+    }
+
+
+    void StripTdsOfflineTool::reset_ntuple_variables() {
+      // if ntuple is not booked nothing to do
+      if ( m_tree==0 ) return;
+      this->clear_ntuple_variables();
+      //reset the ntuple variables
+      m_nStripHits = 0;
+    }
+
+    void StripTdsOfflineTool::clear_ntuple_variables() {
+      //clear the ntuple variables
+      m_nStripHits = 0;
+      m_stripCharge->clear();
+      m_stripCharge_6bit->clear();
+      m_stripCharge_10bit->clear();
+      m_stripCharge->clear();
+      m_stripCharge_6bit->clear();
+      m_stripCharge_10bit->clear();
+      m_strip_global_X->clear();
+      m_strip_global_Y->clear();
+      m_strip_global_Z->clear();
+      m_strip_local_X->clear();
+      m_strip_local_Y->clear();
+      m_strip_layer->clear();
+      m_strip_isSmall->clear();
+      m_strip_eta->clear();
+      m_strip_phi->clear();
+      m_strip_readStrip->clear();
+      m_strip_channel->clear();
+      m_strip_BCID->clear();
+      m_strip_time->clear();
+      m_strip_wedge->clear();
+
+    }
+
+  void StripTdsOfflineTool::fill_strip_validation_id() {
+    
+    for (unsigned int p=0; p<m_strip_cache.size(); p++) {
+      m_nStripHits++;
+      ATH_MSG_INFO("Hits :" << m_nStripHits << " index " <<  p << " Cache strip  " << m_strip_cache.at(p) << "  " << m_strip_cache.size() );	
+
+      m_stripCharge->push_back(m_strip_cache.at(p)->strip_charge());
+      m_stripCharge_6bit->push_back(m_strip_cache.at(p)->strip_charge_6bit());
+      m_stripCharge_10bit->push_back(m_strip_cache.at(p)->strip_charge_10bit());
+      m_strip_readStrip->push_back(m_strip_cache.at(p)->readStrip());
+      m_strip_channel->push_back(m_strip_cache.at(p)->channelId());
+      m_strip_BCID->push_back(m_strip_cache.at(p)->trig_BCID());
+      m_strip_time->push_back(m_strip_cache.at(p)->time());
+      m_strip_wedge->push_back(m_strip_cache.at(p)->wedge());
+
+
+    }
+    
+ 
+  }
+
+
+  StatusCode StripTdsOfflineTool::gather_strip_data(std::vector<StripData*>& strips, std::vector<NSWL1::PadTrigger*>& padTriggers) {
+      ATH_MSG_INFO( "gather_strip_data: start gathering all strip htis");
+
+      // No sector implemented yet!!!
+     
+
+      // retrieve the current run number and event number
+      const EventInfo* pevt = 0;
+      StatusCode sc = evtStore()->retrieve(pevt);
+      if ( !sc.isSuccess() ) {
+        ATH_MSG_WARNING( "Could not retrieve the EventInfo, so cannot associate run and event number to the current STRIP cache" ); 
+        m_strip_cache_runNumber   = -1;
+        m_strip_cache_eventNumber = -1;
+      } else {
+        m_strip_cache_runNumber = pevt->event_ID()->run_number();
+        m_strip_cache_eventNumber = pevt->event_ID()->event_number();
+      }
+
+      if (m_strip_cache_status==CLEARED) {
+        // renew the STRIP cache if this is the next event
+        m_strip_cache_status = fill_strip_cache(padTriggers);
+      }
+
+
+      // check the STRIP cache status
+      if ( m_strip_cache_status!=OK ) {
+        ATH_MSG_ERROR ( "STRIP cache is in a bad status!" );
+        return StatusCode::FAILURE;
+      }
+
+
+      // delivering the required collection
+      for (unsigned int i=0; i< m_strip_cache.size(); i++) 
+	{ 
+	  // Check if a stip should be read according to pad triggers
+	  strips.push_back(m_strip_cache.at(i));
+	}
+      ATH_MSG_DEBUG( "delivered n. " << strips.size() << " STRIP hits." );
+
+      return StatusCode::SUCCESS;
+  }
+
+
+    StripTdsOfflineTool::cStatus StripTdsOfflineTool::fill_strip_cache( std::vector<NSWL1::PadTrigger*>& padTriggers) {
+      ATH_MSG_DEBUG( "fill_strip_cache: clearing existing STRIP hit cache" );
+      this->clear_cache();
+
+      ATH_MSG_DEBUG( "fill_strip_cache: start filling the cache for STRIP hits" );
+
+      const MuonSimDataCollection* sdo_container = 0;
+      StatusCode sc = evtStore()->retrieve( sdo_container, m_sTgcSdoContainer.value().c_str() );
+      if ( !sc.isSuccess() ) {
+        ATH_MSG_WARNING("could not retrieve the sTGC SDO container: it will not be possible to associate the MC truth");
+      }
+
+      const sTgcDigitContainer* digit_container = 0;
+      sc = evtStore()->retrieve( digit_container, m_sTgcDigitContainer.value().c_str() );
+      if ( !sc.isSuccess() ) {
+        ATH_MSG_ERROR("could not retrieve the sTGC Digit container: cannot return the STRIP hits");
+        return FILL_ERROR;
+      }
+
+      sTgcDigitContainer::const_iterator it   = digit_container->begin();
+      sTgcDigitContainer::const_iterator it_e = digit_container->end();
+
+      ATH_MSG_DEBUG( "retrieved sTGC Digit Container with " << digit_container->digit_size() << " collection" );
+      int strip_hit_number = 0;
+      //std::vector<StripHits> strip_hits;
+      for(; it!=it_e; ++it) {
+        const sTgcDigitCollection* coll = *it;
+  
+	ATH_MSG_DEBUG( "processing collection with size " << coll->size() );
+        
+	for (unsigned int item=0; item<coll->size(); item++) {
+          const sTgcDigit* digit = coll->at(item);
+          Identifier Id = digit->identify();
+
+	  const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id);
+	 
+	  Amg::Vector2D  strip_lpos;
+	  Amg::Vector3D strip_gpos;
+	  rdoEl->stripPosition(Id,strip_lpos);
+	  Amg::Vector3D pos(strip_lpos.x(),strip_lpos.y(),0.0);
+	  
+	  //	  ATH_MSG_DEBUG( "Grabbed local pos" );
+	  rdoEl->surface(Id).localToGlobal(strip_lpos, strip_gpos, strip_gpos);
+	  //strip_gpos = rdoEl->localToGlobalCoords(pos,Id);
+	  	  
+
+
+
+	  std::string stName = m_sTgcIdHelper->stationNameString(m_sTgcIdHelper->stationName(Id));
+          int stationEta     = m_sTgcIdHelper->stationEta(Id);
+          int stationPhi     = m_sTgcIdHelper->stationPhi(Id);
+          int wedge      = m_sTgcIdHelper->multilayer(Id);
+          int layer        = m_sTgcIdHelper->gasGap(Id);
+          int channel_type   = m_sTgcIdHelper->channelType(Id);
+          int channel        = m_sTgcIdHelper->channel(Id);
+	  int bctag          = digit->bcTag();
+	
+	  // process only Strip data
+	  if (channel_type!=1) continue;
+
+	  strip_hit_number++;
+
+          int strip_eta        = 0;// m_sTgcIdHelper->stripEta(Id);
+          int strip_phi        = 0;// m_sTgcIdHelper->stripPhi(Id);
+
+          ATH_MSG_DEBUG(     "sTGC Strip hit " << strip_hit_number << ":  Station Name [" << stName << "]"
+			     << "  Station Eta ["  << stationEta             << "]"
+			     << "  Station Phi ["  << stationPhi             << "]"
+			     << "  Wedge ["    << wedge              << "]"
+			     << "  Layer ["       << layer                << "]"
+			     << "  Type ["         << channel_type           << "]"
+			     << "  ChNr ["         << channel                << "]"
+			     << "  Strip Eta ["      << strip_eta                << "]"
+			     << "  Strip Phi ["      << strip_phi                << "]" 
+			     << "  Strip bcTAg ["      << bctag                << "]" );
+
+          int isSmall = stName[2] == 'S';
+
+          int trigger_sector = (isSmall)? stationPhi*2-1 : stationPhi*2-2;
+          int cache_index    = (stationEta>0)? trigger_sector + 16 : trigger_sector;
+
+          ATH_MSG_DEBUG(     "sTGC Strip hit " << strip_hit_number << ":  Trigger Sector [" << trigger_sector << "]"
+			     << "  Cache Index ["  << cache_index                         << "]" );
+
+
+          // process STRIP hit time: apply the time delay, set the BC tag for the hit according to the trigger capture window               
+
+
+	  //ATH_MSG_INFO("Strip at GposZ=" << strip_gpos->z() << " belongs to multiplet ");
+	  if(m_doNtuple){
+	    ATH_MSG_DEBUG( "Fill Stuff" );  
+	    m_strip_global_X->push_back(strip_gpos.x());
+	    m_strip_global_Y->push_back(strip_gpos.y());
+	    m_strip_global_Z->push_back(strip_gpos.z());
+	    m_strip_local_X->push_back(strip_lpos.x());
+	    m_strip_local_Y->push_back(strip_lpos.y());
+	    m_strip_layer->push_back(layer);
+	    m_strip_isSmall->push_back(isSmall);
+	    m_strip_eta->push_back(stationEta);
+	    m_strip_phi->push_back(stationPhi);
+	    ATH_MSG_DEBUG( "Fill Stuff more" );
+	  }
+
+
+
+
+	  StripOfflineData* strip = new StripOfflineData(Id,m_sTgcIdHelper,digit);
+	  strip->set_locX(strip_lpos.x());
+	  strip->set_locY(strip_lpos.y());
+
+
+	  bool read_strip=false;
+	  bool _tmp=false;
+	  for( auto p : padTriggers){
+	    //	    if(p->sectorId()!=stationPhi)
+	    //  {
+	    //		ATH_MSG_INFO("ReadStrip Trigger Candidate in different sector " << p->sectorId() << "  " <<stationPhi );
+	    //		continue; //Only take triggers in the same sector
+	    //  }
+
+	    if(p->sideId()!=strip->sideId()){
+	      ATH_MSG_DEBUG(" ReadStrip Trigger Candidate in different side " << p->sideId() << "  " <<strip->sideId() );
+	      continue;
+	    }
+	    _tmp=readStrip(p->bandId(),strip,p->m_pad_strip_info); //this readStrip is the function
+	    if( _tmp and read_strip) ATH_MSG_DEBUG("Multiple pad trigger candidate in a single wedge for strip "<<read_strip );
+	    read_strip=read_strip || _tmp;
+	  }
+
+	  if (read_strip && strip->bandId() ==-1){
+	    ATH_MSG_DEBUG("StripTdsOfflineTool:NO MATCH ALL \n" <<
+			 "wedge:" << strip->wedge() << "\n"
+			 <<"layer:"<< strip->layer() << "\n"
+			 <<"loc_y:"<< strip->locY()<< "\n");
+	  }
+
+	  strip->set_readStrip(read_strip);
+
+	  strip->set_globX(strip_gpos.x());
+	  strip->set_globY(strip_gpos.y());
+	  strip->set_globZ(strip_gpos.z());
+
+	  strip->set_locX(strip_lpos.x());
+	  strip->set_locY(strip_lpos.y());
+	  strip->set_locZ(0             );
+
+
+	  m_strip_cache.push_back(strip);
+	}
+
+      }
+      if (m_doNtuple) this->fill_strip_validation_id();
+      ATH_MSG_DEBUG( "fill_strip_cache: end of processing" );
+      return OK;
+    }
+
+
+
+
+  bool  StripTdsOfflineTool::readStrip(unsigned int bandID,StripData* strip,std::vector<std::vector<float>> pad_strip_info)
+  {
+    /*!
+     * ReadStrip(BandId_t bandID,StripData* strip): Simple function to return wether a fired strip should 
+     *be readout base on a pad trigger bandID
+     * Inputs: Pad bandID (BandId_t), and StripData strip.
+     */
+
+    // test
+    // sTGCDetectorHelper detHelper;
+    // for (int i=0;i<8;i++)  //loop on phi sectors
+    //   {
+    // 	for (int j=0;j<3;j++)   //loop on eta (=R) index
+    // 	  {
+    // 	    sTGCDetectorDescription* L_sTGC=detHelper.Get_sTGCDetector('L',j+1,i+1);
+    // 	    std::cout<<"\t sTGC detector type "<<L_sTGC->GetName()<<std::endl;
+    // 	    std::cout<<"\t chamber dimensions "<<L_sTGC->small_x()<<" "<<L_sTGC->large_x()<<" "<<L_sTGC->y()<<std::endl;
+    // 	    std::cout<<"\t sPadWidth, lPadWidth "<<L_sTGC->roParameters.sPadWidth<<" "<<L_sTGC->roParameters.lPadWidth<<std::endl;
+	    
+    // 	    sTGCDetectorDescription* S_sTGC=detHelper.Get_sTGCDetector('S',j+1,i+1);
+    // 	    std::cout<<"\t sTGC detector type "<<S_sTGC->GetName()<<std::endl;
+    // 	    std::cout<<"\t chamber dimensions "<<S_sTGC->small_x()<<" "<<S_sTGC->large_x()<<" "<<S_sTGC->y()<<std::endl;
+    // 	    std::cout<<"\t sPadWidth, lPadWidth "<<S_sTGC->roParameters.sPadWidth<<" "<<S_sTGC->roParameters.lPadWidth<<std::endl;
+
+    // 	  }
+    //   }
+
+    //End test
+    if (strip->bandId() !=-1){
+      ATH_MSG_DEBUG("StripTdsOfflineTool:ReadStrip: BandId already set\n" <<"moduleID:"<< strip->moduleId() +1 << "\n"
+		   <<"sectiorID:"<< strip->sectorId() + 1<< "\n" <<"layer:"<<strip->wedge()<< "\n");
+    }
+
+
+    char side= strip->sideId() ? 'A' : 'C';
+    char type= strip->type();
+    sTGCDetectorHelper sTGC_helper;
+    // int layer_index=strip->layer() -1;
+
+    sTGCDetectorDescription *sTGC=0;
+    //Get_sTGCDetector's 2nd input value can range from eta=1 to eta=3
+    //moduleID() provides the values -1 to -3 and 1 to 3, so we need abs value
+    sTGC = sTGC_helper.Get_sTGCDetector(type,std::abs(strip->moduleId()),strip->sectorId(),strip->wedge(),side);
+    //sTGCDetectorDescription *sTGC = sTGC_helper.Get_sTGCDetector(strip->stationName());
+
+    if (!sTGC){
+      ATH_MSG_WARNING("StripTdsOfflineTool:ReadStrip: Could not find detector with:\n" <<
+		    "type:" << type << "\n"
+ 		     <<"moduleID:"<< strip->moduleId() +1 << "\n"
+		     <<"sectiorID:"<< strip->sectorId() + 1<< "\n"
+		    <<"layer:"<<strip->wedge()<< "\n"
+		     <<"side:"<<side<< "\n");
+      return false;
+    }
+
+    ATH_MSG_DEBUG("StripTdsOfflineTool:Strip: \n" <<
+		 "wedge:" << strip->wedge() << "\n"
+		 <<"layer:"<< strip->layer() << "\n"
+		 <<"loc_y:"<< strip->locY()<< "\n");
+
+    for( auto pad_data: pad_strip_info){
+      if (pad_data.size()!=4)
+	{
+	  ATH_MSG_WARNING("StripTdsOfflineTool:ReadStrip: pad data of incorrect size:\n");
+	  continue;
+	}
+      float wedge = pad_data.at(0);
+      float layer = pad_data.at(1);
+      int loc_min_y = pad_data.at(2);
+      int loc_max_y = pad_data.at(3);
+
+      ATH_MSG_DEBUG("StripTdsOfflineTool:Pad: \n" <<
+		   "wedge:" << wedge << "\n"
+		   <<"layer:"<< layer << "\n"
+		   <<"loc_y:"<< loc_min_y << ":"<<loc_max_y << "\n");
+      
+      
+
+      if (wedge != strip->wedge()) continue;
+      if (layer != strip->layer()) continue;
+      if (strip->locY() > loc_max_y || strip->locY()< loc_min_y) continue; 
+      strip->setBandId((int) bandID);
+
+      ATH_MSG_DEBUG("StripTdsOfflineTool:MATCH");
+	return true;
+    }
+    ATH_MSG_DEBUG("StripTdsOfflineTool:NoMATCH");
+    return false;
+  }
+
+    /*   else { ATH_MSG_DEBUG("StripCluster:ReadStrip Found detector with:\n" <<
+			"type:" << type << "\n"
+			<<"moduleID:"<< strip->moduleId() << "\n"
+			<<"sectiorID:"<< strip->sectorId()<< "\n"
+			<<"layer:"<<layer<< "\n"
+			<<"side:"<<side<< "\n");}*/
+
+
+    /* Code for when pand id is fixed*/
+
+  //   sTGCReadoutParameters  roParams=sTGC->GetReadoutParameters();
+    
+
+  //   if (layer_index < 0 || layer_index >= roParams.firstTriggerBand.size()+1){
+  //     ATH_MSG_DEBUG("StripClusterTool:ReadStrip: Asked for layer that dosen't exist:" << layer_index+1);
+  //     return false;
+  //     }
+  //   ATH_MSG_DEBUG("BandID" << "  " << unsigned(bandID) << "  ["<<roParams.firstTriggerBand.at(layer_index) <<","<< roParams.firstTriggerBand.at(layer_index)+ roParams.nTriggerBands.at(layer_index) << "]");
+
+  //   if (unsigned(bandID) <= roParams.firstTriggerBand.at(layer_index)) {
+  //     ATH_MSG_DEBUG("Module not in Trigger Band: low");
+  //     return false;
+  //   } 
+  //   if (unsigned(bandID) >= roParams.firstTriggerBand.at(layer_index)+ roParams.nTriggerBands.at(layer_index)) {
+  //     ATH_MSG_DEBUG("Module not in Trigger Band: high");
+  // 	return false;    }
+
+  //   int band_index=bandID-roParams.firstTriggerBand.at(layer_index);
+  //   /* Strip where counting starts */
+  //   int start_strip=roParams.firstStripInTrigger.at(layer_index);
+
+  //   /* Grab correct layer */
+  //   std::vector<int>* stripsInBands=0;
+  //   if (layer_index==0) stripsInBands= &(roParams.StripsInBandsLayer1);
+  //   else if (layer_index==1) stripsInBands= &(roParams.StripsInBandsLayer2);
+  //   else if (layer_index==2) stripsInBands= &(roParams.StripsInBandsLayer3);
+  //   else if (layer_index==3) stripsInBands= &(roParams.StripsInBandsLayer4);
+  //   else{
+  //     ATH_MSG_DEBUG("StripClusterTool:ReadStrip: Asked for layer that dosen't exist");
+  //     return false;
+  //   }
+  //   /* Sum over all other strips to get the starting strip for this band id */
+
+  //   if (band_index >= stripsInBands->size() or band_index<0) {
+  //     ATH_MSG_DEBUG("StripClusterTool:ReadStrip: band_index is out of range:"<< band_index <<" of " << stripsInBands->size());
+  //     return false;
+  //   }
+
+  //   for( int i=1; i <band_index; i++) start_strip+=stripsInBands->at(i-1);
+    
+  //   /* Check to see if this strip falls in this band Range */
+  //   if (strip->channelId() < start_strip){
+  //     ATH_MSG_DEBUG("Strip not in Trigger Band: low "<< strip->channelId() <<"  "<<start_strip);
+  // 	     return false;}
+  //   if (strip->channelId() > start_strip+stripsInBands->at(band_index)){
+  //     ATH_MSG_DEBUG("Strip not in Trigger Band: high "<< strip->channelId() <<"  "<<start_strip+stripsInBands->at(band_index));
+  // 	return false;
+  //   }
+  
+  //   /* Some code here to cache this results */
+  //   strip->setBandId((int) bandID);
+  //   return true;
+  
+  // }
+
+
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.h
new file mode 100644
index 00000000000..58e961cfc70
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripTdsOfflineTool.h
@@ -0,0 +1,142 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef STRIPTDSOFFLINETOOL_H
+#define STRIPTDSOFFLINETOOL_H
+
+//basic includes
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "GaudiKernel/Property.h"
+
+//local includes
+#include "TrigT1NSWSimTools/IStripTdsTool.h"
+#include "TrigT1NSWSimTools/PadTrigger.h"
+#include "TrigT1NSWSimTools/TriggerTypes.h"
+
+
+//forward declarations
+class IIncidentSvc;
+class IAtRndmGenSvc;
+class sTgcIdHelper;
+class sTgcDigit;
+class TTree;
+
+namespace CLHEP {
+  class HepRandomEngine;
+}
+
+namespace MuonGM {
+  class MuonDetectorManager;
+}
+
+
+// namespace for the NSW LVL1 related classes
+namespace NSWL1 {
+
+  /**
+   *
+   *   @short interface for the StripTDS tools
+   *
+   * This class implements the Strip TDS offline simulation. It loops over the input digits, 
+   * determines the BC tag and applies the additional processing of the VMM chip which is
+   * not yet implemented in the digitization. The loop is executed over the full digit pool
+   * once upon the first data request for an event and the STRIP data are internally cached
+   * and collected per trigger sectors. The run ID and event ID are cached; the processing
+   * status is also cached to be propagated via a StatusCode at each data request. 
+   *
+   * Supported processing:
+   *  Currently None;
+   *
+   * It returns a vector of StripData to input the StripTrigger simulation.
+   *
+   *  @author Jacob Searcy <jsearcy@cern.ch>
+   *
+   *
+   */
+
+  class StripHits;
+
+  class StripTdsOfflineTool: virtual public IStripTdsTool, 
+                                   public AthAlgTool, 
+                                   public IIncidentListener {
+
+  public:
+    enum cStatus {OK, FILL_ERROR, CLEARED};
+
+    StripTdsOfflineTool(const std::string& type, 
+                      const std::string& name,
+                      const IInterface* parent);
+
+    virtual ~StripTdsOfflineTool();
+
+    virtual StatusCode initialize();
+
+    virtual void handle (const Incident& inc);
+
+    StatusCode gather_strip_data(std::vector<StripData*>& strips,std::vector<NSWL1::PadTrigger*>& padTriggers);
+ 
+
+  private:
+    // methods implementing the internal data processing
+    cStatus fill_strip_cache( std::vector<NSWL1::PadTrigger*>& padTriggers);   //!< loop over the digit container, apply the additional processing then fill the cache
+    void clear_cache();                                     //!< clear the strip hit cache deleting the StripData pointers
+
+    StatusCode book_branches();                             //!< book the branches to analyze the StripTds behavior
+    void reset_ntuple_variables();                          //!< reset the variables used in the analysis ntuple
+    void clear_ntuple_variables();                          //!< clear the variables used in the analysis ntuple
+    void fill_strip_validation_id();                        //!< fill the ntuple branch for the StripTdsOffline
+    bool readStrip(unsigned int bandID,StripData* strip,std::vector<std::vector<float>> pad_strip_info);
+
+    // needed Servives, Tools and Helpers
+    ServiceHandle< IIncidentSvc >      m_incidentSvc;       //!< Athena/Gaudi incident Service
+    ServiceHandle< IAtRndmGenSvc >     m_rndmSvc;           //!< Athena random number service
+    CLHEP::HepRandomEngine*            m_rndmEngine;        //!< Random number engine
+    const MuonGM::MuonDetectorManager* m_detManager;        //!< MuonDetectorManager
+    const sTgcIdHelper*                m_sTgcIdHelper;      //!< sTgc offline Id helper
+
+    // hidden variables
+    std::vector<StripData*>  m_strip_cache;                 //!< cache for the STRIP hit data in the event
+    int     m_strip_cache_runNumber;                          //!< run number associated to the current STRIP cache
+    int     m_strip_cache_eventNumber;                        //!< event number associated to the current STRIP cache
+    cStatus m_strip_cache_status;                             //!< status of the current cache
+    BooleanProperty  m_doNtuple;                            //!< property, see @link StripTdsOfflineTool::StripTdsOfflineTool @endlink  
+
+    // properties: container and service names
+    StringProperty   m_rndmEngineName;                      //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    StringProperty   m_sTgcDigitContainer;                  //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+    StringProperty   m_sTgcSdoContainer;                    //!< property, see @link PadTdsOfflineTool::PadTdsOfflineTool @endlink
+
+
+    // analysis ntuple
+    TTree* m_tree;                                          //!< ntuple for analysis
+
+    // analysis variable to be put into the ntuple
+    int m_nStripHits;                                            //!< number of STRIP hit delivered
+    std::vector<float > *m_stripCharge=0;                           //!< charge of hit STRIPs 
+    std::vector<float > *m_stripCharge_6bit=0;                           //!< charge of hit STRIPs 6 bit format
+    std::vector<float > *m_stripCharge_10bit=0;                           //!< charge of hit STRIPs 10 bit format
+    std::vector<float > *m_strip_global_X=0;                           //!< global X position
+    std::vector<float > *m_strip_global_Y=0;                           //!< global Y position
+    std::vector<float > *m_strip_global_Z=0;                           //!< global Z position
+    std::vector<float > *m_strip_local_X=0;                           //!< local X position
+    std::vector<float > *m_strip_local_Y=0;                           //!< local Y position
+    std::vector<float > *m_strip_layer=0;                           //!< layer
+    std::vector<float > *m_strip_isSmall=0;                           //!< sector number
+    std::vector<float > *m_strip_eta=0;                           //!< sector eta
+    std::vector<float > *m_strip_phi=0;                           //!< sector phi
+    std::vector<float > *m_strip_readStrip=0;                           //!< sector phi
+    std::vector<int > *m_strip_channel=0;                           //!< channel
+    std::vector<int > *m_strip_BCID=0;                           //!< BCID
+    std::vector<int > *m_strip_wedge=0;                           //!< multipletId
+    std::vector<float > *m_strip_time=0;                           //!< multipletId
+
+
+  };  // end of StripTdsOfflineTool class
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/components/TrigT1NSWSimTools_entries.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/components/TrigT1NSWSimTools_entries.cxx
new file mode 100644
index 00000000000..ee546363e1f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/components/TrigT1NSWSimTools_entries.cxx
@@ -0,0 +1,26 @@
+#include "../PadTdsOfflineTool.h"
+#include "../PadTriggerLogicOfflineTool.h"
+#include "../StripTdsOfflineTool.h"
+#include "../StripClusterTool.h"
+#include "../StripSegmentTool.h"
+#include "../MMStripTdsOfflineTool.h"
+#include "../MMFPGAOfflineTool.h"
+#include "../MMTriggerTool.h"
+
+using NSWL1::PadTdsOfflineTool;
+using NSWL1::PadTriggerLogicOfflineTool;
+using NSWL1::StripTdsOfflineTool;
+using NSWL1::StripClusterTool;
+using NSWL1::StripSegmentTool;
+using NSWL1::MMStripTdsOfflineTool;
+using NSWL1::MMFPGAOfflineTool;
+using NSWL1::MMTriggerTool;
+
+DECLARE_COMPONENT( PadTdsOfflineTool )
+DECLARE_COMPONENT( PadTriggerLogicOfflineTool )
+DECLARE_COMPONENT( StripTdsOfflineTool )
+DECLARE_COMPONENT( StripClusterTool )
+DECLARE_COMPONENT( StripSegmentTool )
+DECLARE_COMPONENT( MMStripTdsOfflineTool )
+DECLARE_COMPONENT( MMFPGAOfflineTool )
+DECLARE_COMPONENT( MMTriggerTool )
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCenumeration.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCenumeration.h
new file mode 100644
index 00000000000..a09f7168bcc
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCenumeration.h
@@ -0,0 +1,95 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef sTGCenumeration_h
+#define sTGCenumeration_h
+
+static const float VERY_LARGE               =      999999.
+                 , UNDEF                    =  -VERY_LARGE
+                 , DEFAULT_VALUE            =        UNDEF
+                 ; 
+
+enum selectorType     { NONE                =  -1
+                      , ALL                 =  -2
+                      , DEFAULT             =  -3
+                      , TOO_SMALL           =  -4
+                      , TOO_LARGE           =  -5
+                      , UNDEFINED           =  -999999
+                      } ;
+
+enum STGCModuleType   { STGC_MODULE_1       =  1
+                      , STGC_MODULE_2   
+                      , STGC_MODULE_3   
+                      , STGC_MODULES        =  3
+                      } ; 
+
+enum STGCDetectorType { STGC_DETECTOR_0 
+                      , STGC_DETECTOR_1    
+                      , STGC_DETECTOR_2
+                      , STGC_DETECTOR_3
+                      , STGC_DETECTORS 
+                      } ;
+
+enum PivotConfirmType { PIVOT              
+                      , CONFIRM 
+                      , STGC_WEDGES 
+                      } ;
+
+enum SectorType       { SMALL                
+                      , LARGE 
+                      , SECTORS_IN_OCTANT
+                      , TOY                 =  SECTORS_IN_OCTANT  // 2
+                      , SECTOR_TYPES
+                      } ;
+
+enum STGCType         { SMALL_PIVOT    
+                      , SMALL_CONFIRM      
+                      , LARGE_PIVOT       
+                      , LARGE_CONFIRM    
+                      , TOY_PIVOT           
+                      , TOY_CONFIRM                         
+                      , STGC_TYPES   
+                      } ;
+
+enum LayerType        { NO_LAYER            = -1 
+                      , STGC_LAYER_1        =  1         
+                      , STGC_LAYER_2         
+                      , STGC_LAYER_3          
+                      , STGC_LAYER_4        
+                      , STGC_LAYERS         =  5
+                      } ;
+
+enum MMType           { REGULAR      
+                      , CORNERED              
+                      , EXTRUDED            
+                      , MM_TYPES       
+                      } ;
+
+enum MMModule         { MM_MODULE_1         =  1
+                      , MM_MODULE_2  
+                      , MM_MODULE_3 
+                      , MM_MODULE_4  
+                      , MM_MODULES          =  4
+                      } ;
+
+enum MDTModule        { MDT_MODULE_1         =  1
+                      , MDT_MODULE_2  
+                      , MDT_MODULE_3 
+                      , MDT_MODULE_4  
+                      , MDT_MODULES          =  4
+                      } ;
+
+// description of the trigger patterns
+
+enum triggerPattern   { TRPAT_NBITS_LAYER =  8 
+                      , TRPAT_PHI_BITS    =  0 
+                      , TRPAT_R_BITS      =  4 
+                      , TRPAT_MASK        =  0x7
+                      , TRPAT_DRMIN       =  0 
+                      , TRPAT_DRMAX       =  1 
+                      , TRPAT_DPHIMIN     =  0 
+                      , TRPAT_DPHIMAX     =  1 
+                      } ;
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCgeometry.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCgeometry.h
new file mode 100644
index 00000000000..3bc43a47712
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/sTGCgeometry.h
@@ -0,0 +1,947 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+//1234567890123901234 123456789023456 123456789023456123123456789023456123 1234567890123 1234567890123 1234565 4444412344326567890
+#ifndef STGCgeometry_h
+#define STGCgeometry_h
+
+// NSW STGC (c) Daniel.Lellouch@cern.ch April 11, 2013
+
+static const float H1[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 1019.4, 1019.4, 1019.4, 1019.4} //D0
+, { 1681.4, 1651.4, 1621.4, 1591.4} //D1
+, { 2541.4, 2541.4, 2541.4, 2541.4} //D2
+, { 3510.9, 3510.9, 3510.9, 3510.9} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 1019.4, 1019.4, 1019.4, 1019.4} //D0
+, { 1681.4, 1651.4, 1621.4, 1591.4} //D1
+, { 2541.4, 2541.4, 2541.4, 2541.4} //D2
+, { 3510.9, 3510.9, 3510.9, 3510.9} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 982.0, 982.0, 982.0, 982.0} //D0
+, { 1678.0, 1648.0, 1618.0, 1588.0} //D1
+, { 2538.0, 2538.0, 2538.0, 2538.0} //D2
+, { 3598.0, 3598.0, 3598.0, 3598.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 982.0, 982.0, 982.0, 982.0} //D0
+, { 1678.0, 1648.0, 1618.0, 1588.0} //D1
+, { 2538.0, 2538.0, 2538.0, 2538.0} //D2
+, { 3598.0, 3598.0, 3598.0, 3598.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { -413.5, -413.5, -413.5, -413.5} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { -413.5, -413.5, -413.5, -413.5} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+
+};
+
+static const float H2[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 1681.4, 1651.4, 1621.4, 1591.4} //D0
+, { 2531.4, 2531.4, 2531.4, 2531.4} //D1
+, { 3500.9, 3500.9, 3500.9, 3500.9} //D2
+, { 4470.4, 4470.4, 4470.4, 4470.4} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 1681.4, 1651.4, 1621.4, 1591.4} //D0
+, { 2531.4, 2531.4, 2531.4, 2531.4} //D1
+, { 3500.9, 3500.9, 3500.9, 3500.9} //D2
+, { 4470.4, 4470.4, 4470.4, 4470.4} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 1678.0, 1648.0, 1618.0, 1588.0} //D0
+, { 2528.0, 2528.0, 2528.0, 2528.0} //D1
+, { 3588.0, 3588.0, 3588.0, 3588.0} //D2
+, { 4398.0, 4398.0, 4398.0, 4398.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 1678.0, 1648.0, 1618.0, 1588.0} //D0
+, { 2528.0, 2528.0, 2528.0, 2528.0} //D1
+, { 3588.0, 3588.0, 3588.0, 3588.0} //D2
+, { 4398.0, 4398.0, 4398.0, 4398.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { 413.5, 413.5, 413.5, 413.5} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 413.5, 413.5, 413.5, 413.5} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+static const float H3[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D3
+}
+,
+{ // SMALL_CONFIRM
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D3
+}
+,
+{ // LARGE_PIVOT
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { 4648.0, 4648.0, 4648.0, 4648.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { 4648.0, 4648.0, 4648.0, 4648.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+static const float A[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 384.0, 384.0, 384.0, 384.0} //D0
+, { 677.5, 664.2, 650.9, 637.6} //D1
+, { 1056.5, 1056.5, 1056.5, 1056.5} //D2
+, { 1260.3, 1260.3, 1260.3, 1260.3} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 420.0, 420.0, 420.0, 420.0} //D0
+, { 713.5, 700.2, 686.9, 673.6} //D1
+, { 1092.5, 1092.5, 1092.5, 1092.5} //D2
+, { 1296.3, 1296.3, 1296.3, 1296.3} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 598.0, 598.0, 598.0, 598.0} //D0
+, { 843.4, 832.8, 822.2, 811.7} //D1
+, { 1149.1, 1149.1, 1149.1, 1149.1} //D2
+, { 1777.1, 1777.1, 1777.1, 1777.1} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 634.0, 634.0, 634.0, 634.0} //D0
+, { 879.4, 868.8, 858.2, 847.7} //D1
+, { 1185.1, 1185.1, 1185.1, 1185.1} //D2
+, { 1813.1, 1813.1, 1813.1, 1813.1} //D3
+}
+,
+{ //TOY_PIVOT
+ { 834.0, 834.0, 834.0, 834.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 834.0, 834.0, 834.0, 834.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+static const float B[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 677.5, 664.2, 650.9, 637.6} //D0
+, { 1054.4, 1054.4, 1054.4, 1054.4} //D1
+, { 1258.2, 1258.2, 1258.2, 1258.2} //D2
+, { 1462.0, 1462.0, 1462.0, 1462.0} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 713.5, 700.2, 686.9, 673.6} //D0
+, { 1090.4, 1090.4, 1090.4, 1090.4} //D1
+, { 1294.2, 1294.2, 1294.2, 1294.2} //D2
+, { 1498.0, 1498.0, 1498.0, 1498.0} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 843.4, 832.8, 822.2, 811.7} //D0
+, { 1143.2, 1143.2, 1143.2, 1143.2} //D1
+, { 1771.1, 1771.1, 1771.1, 1771.1} //D2
+, { 2251.0, 2251.0, 2251.0, 2251.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 879.4, 868.8, 858.2, 847.7} //D0
+, { 1179.2, 1179.2, 1179.2, 1179.2} //D1
+, { 1807.1, 1807.1, 1807.1, 1807.1} //D2
+, { 2287.0, 2287.0, 2287.0, 2287.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { 834.0, 834.0, 834.0, 834.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 834.0, 834.0, 834.0, 834.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+
+static const float H1_ACTIVE[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 1032.9, 1032.9, 1032.9, 1032.9} //D0
+, { 1694.9, 1664.9, 1634.9, 1604.9} //D1
+, { 2554.9, 2554.9, 2554.9, 2554.9} //D2
+, { 3524.4, 3524.4, 3524.4, 3524.4} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 1032.9, 1032.9, 1032.9, 1032.9} //D0
+, { 1694.9, 1664.9, 1634.9, 1604.9} //D1
+, { 2554.9, 2554.9, 2554.9, 2554.9} //D2
+, { 3524.4, 3524.4, 3524.4, 3524.4} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 995.5, 995.5, 995.5, 995.5} //D0
+, { 1691.5, 1661.5, 1631.5, 1601.5} //D1
+, { 2551.5, 2551.5, 2551.5, 2551.5} //D2
+, { 3611.5, 3611.5, 3611.5, 3611.5} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 995.5, 995.5, 995.5, 995.5} //D0
+, { 1691.5, 1661.5, 1631.5, 1601.5} //D1
+, { 2551.5, 2551.5, 2551.5, 2551.5} //D2
+, { 3611.5, 3611.5, 3611.5, 3611.5} //D3
+}
+,
+{ //TOY_PIVOT
+ { -400.0, -400.0, -400.0, -400.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { -400.0, -400.0, -400.0, -400.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+static const float H2_ACTIVE[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 1667.9, 1637.9, 1607.9, 1577.9} //D0
+, { 2517.9, 2517.9, 2517.9, 2517.9} //D1
+, { 3470.9, 3470.9, 3470.9, 3470.9} //D2
+, { 4440.4, 4440.4, 4440.4, 4440.4} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 1667.9, 1637.9, 1607.9, 1577.9} //D0
+, { 2517.9, 2517.9, 2517.9, 2517.9} //D1
+, { 3470.9, 3470.9, 3470.9, 3470.9} //D2
+, { 4440.4, 4440.4, 4440.4, 4440.4} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 1664.5, 1634.5, 1604.5, 1574.5} //D0
+, { 2514.5, 2514.5, 2514.5, 2514.5} //D1
+, { 3558.0, 3558.0, 3558.0, 3558.0} //D2
+, { 4368.0, 4368.0, 4368.0, 4368.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 1664.5, 1634.5, 1604.5, 1574.5} //D0
+, { 2514.5, 2514.5, 2514.5, 2514.5} //D1
+, { 3558.0, 3558.0, 3558.0, 3558.0} //D2
+, { 4368.0, 4368.0, 4368.0, 4368.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { 400.0, 400.0, 400.0, 400.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 400.0, 400.0, 400.0, 400.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+static const float H3_ACTIVE[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D3
+}
+,
+{ // SMALL_CONFIRM
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D3
+}
+,
+{ // LARGE_PIVOT
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { 4618.0, 4618.0, 4618.0, 4618.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D1
+, { UNDEF , UNDEF , UNDEF , UNDEF } //D2
+, { 4618.0, 4618.0, 4618.0, 4618.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { UNDEF , UNDEF , UNDEF , UNDEF } //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+static const float A_ACTIVE[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 356.8, 356.8, 356.8, 356.8} //D0
+, { 650.3, 637.0, 623.7, 610.4} //D1
+, { 1025.5, 1025.5, 1025.5, 1025.5} //D2
+, { 1229.3, 1229.3, 1229.3, 1229.3} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 392.8, 392.8, 392.8, 392.8} //D0
+, { 686.3, 673.0, 659.7, 646.4} //D1
+, { 1061.5, 1061.5, 1061.5, 1061.5} //D2
+, { 1265.3, 1265.3, 1265.3, 1265.3} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 569.2, 569.2, 569.2, 569.2} //D0
+, { 814.7, 804.1, 793.5, 782.9} //D1
+, { 1124.5, 1124.5, 1124.5, 1124.5} //D2
+, { 1752.5, 1752.5, 1752.5, 1752.5} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 605.2, 605.2, 605.2, 605.2} //D0
+, { 850.7, 840.1, 829.5, 818.9} //D1
+, { 1160.5, 1160.5, 1160.5, 1160.5} //D2
+, { 1788.5, 1788.5, 1788.5, 1788.5} //D3
+}
+,
+{ //TOY_PIVOT
+ { 800.0, 800.0, 800.0, 800.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 800.0, 800.0, 800.0, 800.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+static const float B_ACTIVE[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 638.3, 625.0, 611.7, 598.4} //D0
+, { 1015.2, 1015.2, 1015.2, 1015.2} //D1
+, { 1218.1, 1218.1, 1218.1, 1218.1} //D2
+, { 1421.9, 1421.9, 1421.9, 1421.9} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ 674.3, 661.0, 647.7, 634.4} //D0
+, { 1051.2, 1051.2, 1051.2, 1051.2} //D1
+, { 1254.1, 1254.1, 1254.1, 1254.1} //D2
+, { 1457.9, 1457.9, 1457.9, 1457.9} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 805.2, 794.6, 784.0, 773.4} //D0
+, { 1104.9, 1104.9, 1104.9, 1104.9} //D1
+, { 1720.8, 1720.8, 1720.8, 1720.8} //D2
+, { 2200.6, 2200.6, 2200.6, 2200.6} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ 841.2, 830.6, 820.0, 809.4} //D0
+, { 1140.9, 1140.9, 1140.9, 1140.9} //D1
+, { 1756.8, 1756.8, 1756.8, 1756.8} //D2
+, { 2236.6, 2236.6, 2236.6, 2236.6} //D3
+}
+,
+{ //TOY_PIVOT
+ { 800.0, 800.0, 800.0, 800.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 800.0, 800.0, 800.0, 800.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+
+static const float A_ADAPTERS[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 428.0, 428.0, 428.0, 428.0} //D0
+, { 787.5, 774.2, 760.9, 747.6} //D1
+, { 1136.5, 1136.5, 1136.5, 1136.5} //D2
+, { 1340.3, 1340.3, 1340.3, 1340.3} //D3
+}
+,
+{ // SMALL_CONFIRM
+ { 464.0, 464.0, 464.0, 464.0} //D0
+, { 823.5, 810.2, 796.9, 783.6} //D1
+, { 1172.5, 1172.5, 1172.5, 1172.5} //D2
+, { 1376.3, 1376.3, 1376.3, 1376.3} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 642.0, 642.0, 642.0, 642.0} //D0
+, { 953.4, 942.8, 932.2, 921.7} //D1
+, { 1229.1, 1229.1, 1229.1, 1229.1} //D2
+, { 1857.1, 1857.1, 1857.1, 1857.1} //D3
+}
+,
+{ // LARGE_CONFIRM
+ { 678.0, 678.0, 678.0, 678.0} //D0
+, { 989.4, 978.8, 968.2, 957.7} //D1
+, { 1265.1, 1265.1, 1265.1, 1265.1} //D2
+, { 1893.1, 1893.1, 1893.1, 1893.1} //D3
+}
+,
+{ //TOY_PIVOT
+ { 878.0, 878.0, 878.0, 878.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 878.0, 878.0, 878.0, 878.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+static const float B_ADAPTERS[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 721.5, 708.2, 694.9, 681.6} //D0
+, { 1098.4, 1098.4, 1098.4, 1098.4} //D1
+, { 1338.2, 1338.2, 1338.2, 1338.2} //D2
+, { 1542.0, 1542.0, 1542.0, 1542.0} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ 757.5, 744.2, 730.9, 717.6} //D0
+, { 1134.4, 1134.4, 1134.4, 1134.4} //D1
+, { 1374.2, 1374.2, 1374.2, 1374.2} //D2
+, { 1578.0, 1578.0, 1578.0, 1578.0} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 887.4, 876.8, 866.2, 855.7} //D0
+, { 1187.2, 1187.2, 1187.2, 1187.2} //D1
+, { 1851.1, 1851.1, 1851.1, 1851.1} //D2
+, { 2331.0, 2331.0, 2331.0, 2331.0} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ 923.4, 912.8, 902.2, 891.7} //D0
+, { 1223.2, 1223.2, 1223.2, 1223.2} //D1
+, { 1887.1, 1887.1, 1887.1, 1887.1} //D2
+, { 2367.0, 2367.0, 2367.0, 2367.0} //D3
+}
+,
+{ //TOY_PIVOT
+ { 878.0, 878.0, 878.0, 878.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { 878.0, 878.0, 878.0, 878.0} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+
+static const float PAD_PHI_SUBDIVISION = 1.5; // Module 1 wrt Modules 2 and 3
+static const float PAD_PHI_DIVISION = 0.130900; // Modules 2 and 3 in radians
+
+
+static const float H_PAD_ROW_0[STGC_TYPES][STGC_LAYERS]={
+ { 922.5, 883.9, 920.3, 881.5} // SMALL_PIVOT
+ ,{ 867.0, 829.9, 865.0, 827.7} // SMALL_CONFIRM
+ ,{ 939.3, 899.9, 937.0, 897.5} // LARGE_PIVOT
+ ,{ 954.4, 913.4, 951.8, 910.7} // LARGE_CONFIRM
+ ,{ -397.5, -437.5, -402.5, -442.5} //TOY_PIVOT
+ ,{ -417.5, -457.5, -422.5, -462.5} // TOY_CONFIRM
+ };
+
+
+static const float PAD_HEIGHT[STGC_TYPES][STGC_LAYERS]={
+ { 80.000, 80.123, 80.246, 80.368} // SMALL_PIVOT
+ ,{ 76.855, 76.978, 77.101, 77.224} // SMALL_CONFIRM
+ ,{ 81.453, 81.576, 81.699, 81.821} // LARGE_PIVOT
+ ,{ 84.598, 84.721, 84.843, 84.966} // LARGE_CONFIRM
+ ,{ 80.000, 80.000, 80.000, 80.000} //TOY_PIVOT
+ ,{ 80.000, 80.000, 80.000, 80.000} // TOY_CONFIRM
+ };
+
+static const float Z_DANIEL[STGC_TYPES][STGC_LAYERS]={
+ { 7377.5, 7388.8, 7400.2, 7411.5} // SMALL_PIVOT
+ ,{ 7087.5, 7098.8, 7110.2, 7121.5} // SMALL_CONFIRM
+ ,{ 7511.5, 7522.8, 7534.2, 7545.5} // LARGE_PIVOT
+ ,{ 7801.5, 7812.8, 7824.2, 7835.5} // LARGE_CONFIRM
+ ,{ -1, -1, -1, -1} //TOY_PIVOT
+ ,{ -1, -1, -1, -1} // TOY_CONFIRM
+ };
+
+static const float Z_CURRENT_LAYOUT[STGC_TYPES][STGC_LAYERS]={
+ { 7323.1, 7334.2, 7345.3, 7356.4} // SMALL_PIVOT
+ ,{ 7058.2, 7069.3, 7080.4, 7091.5} // SMALL_CONFIRM
+ ,{ 7420.2, 7431.3, 7442.4, 7453.5} // LARGE_PIVOT
+ ,{ 7685.1, 7696.2, 7707.3, 7718.4} // LARGE_CONFIRM
+ ,{ -397.5, -437.5, -402.5, -442.5} //TOY_PIVOT
+ ,{ -417.5, -457.5, -422.5, -462.5} // TOY_CONFIRM
+};
+
+static const int FIRST_PAD_ROW_DIVISION[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 2, 3, 2, 3} //D0
+, { 10, 10, 10, 10} //D1
+, { 21, 22, 21, 22} //D2
+, { 33, 34, 33, 34} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ 3, 3, 3, 3} //D0
+, { 11, 12, 11, 11} //D1
+, { 23, 23, 23, 23} //D2
+, { 35, 36, 35, 36} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 1, 2, 1, 2} //D0
+, { 10, 10, 9, 9} //D1
+, { 21, 21, 20, 21} //D2
+, { 34, 34, 33, 34} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ 1, 2, 1, 2} //D0
+, { 9, 10, 9, 9} //D1
+, { 20, 20, 20, 20} //D2
+, { 32, 33, 32, 32} //D3
+}
+,
+{ //TOY_PIVOT
+ { 1, 1, 1, 1} //D0
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+,
+{ // TOY_CONFIRM
+ { 1, 1, 1, 1} //D0
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+};
+
+static const int PAD_ROWS[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 9, 8, 8, 7} //D0
+, { 11, 12, 11, 12} //D1
+, { 12, 12, 12, 12} //D2
+, { 12, 12, 12, 12} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ 9, 9, 8, 8} //D0
+, { 12, 11, 12, 12} //D1
+, { 12, 13, 12, 13} //D2
+, { 13, 12, 13, 12} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 9, 8, 8, 8} //D0
+, { 11, 11, 12, 12} //D1
+, { 12, 13, 13, 13} //D2
+, { 12, 13, 13, 13} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ 9, 8, 8, 7} //D0
+, { 11, 10, 11, 11} //D1
+, { 12, 13, 12, 12} //D2
+, { 13, 12, 13, 13} //D3
+}
+,
+{ //TOY_PIVOT
+ { 10, 11, 10, 11} //D0
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+,
+{ // TOY_CONFIRM
+ { 11, 11, 11, 11} //D0
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+};
+
+
+
+static const float PAD_COL_PHI0[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 0.002717, -0.040916, -0.002717, -0.046351} //D0
+, { 0.002717, -0.040916, -0.002717, -0.046351} //D1
+, { 0.002717, -0.062732, -0.002717, -0.068167} //D2
+, { 0.002717, -0.062732, -0.002717, -0.068167} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ -0.019099, -0.062732, -0.024534, -0.068167} //D0
+, { -0.019099, -0.062732, -0.024534, -0.068167} //D1
+, { -0.030008, -0.095457, -0.035442, -0.100892} //D2
+, { -0.030008, -0.095457, -0.035442, -0.100892} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 0.002717, -0.040916, -0.002717, -0.046351} //D0
+, { 0.002717, -0.040916, -0.002717, -0.046351} //D1
+, { 0.002717, -0.062732, -0.002717, -0.068167} //D2
+, { 0.002717, -0.062732, -0.002717, -0.068167} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ -0.019099, -0.062732, -0.024534, -0.068167} //D0
+, { -0.019099, -0.062732, -0.024534, -0.068167} //D1
+, { -0.030008, -0.095457, -0.035442, -0.100892} //D2
+, { -0.030008, -0.095457, -0.035442, -0.100892} //D3
+}
+,
+{ //TOY_PIVOT
+ { -317.5, -357.5, -322.5, -362.5} //D0 actually X (mm)
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+,
+{ // TOY_CONFIRM
+ { -337.5, -377.5, -342.5, -382.5} //D0
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+}
+};
+
+static const int INDEX_LEFTMOST_COL[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { -1, -1, -1, -1} //D0
+, { -1, -1, -1, -1} //D1
+, { -1, 0, -1, 0} //D2
+, { -1, 0, -1, 0} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ -1, -1, -1, -1} //D0
+, { -1, -1, -1, -1} //D1
+, { -1, 0, -1, 0} //D2
+, { -1, 0, -1, 0} //D3
+}
+,
+{ // LARGE_PIVOT
+ { -2, -1, -2, -1} //D0
+, { -2, -1, -2, -1} //D1
+, { -1, 0, -1, 0} //D2
+, { -1, 0, -1, 0} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ -2, -1, -2, -1} //D0
+, { -2, -1, -2, -1} //D1
+, { -1, 0, -1, 0} //D2
+, { -1, 0, -1, 0} //D3
+}
+,
+{ //TOY_PIVOT
+ { 1, 1, 1, 1} //D0 actually 1st column
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+,
+{ // TOY_CONFIRM
+ { 1, 1, 1, 1} //D0 actually 1st column
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+};
+
+
+
+static const int INDEX_RIGHTMOST_COL[STGC_TYPES][STGC_DETECTORS][STGC_LAYERS]={
+{ // SMALL_PIVOT
+ { 1, 2, 1, 2} //D0
+, { 1, 2, 1, 2} //D1
+, { 1, 1, 1, 1} //D2
+, { 1, 1, 1, 1} //D3
+}
+,
+{ // SMALL_CONFIRM
+{ 1, 2, 1, 2} //D0
+, { 1, 2, 1, 2} //D1
+, { 1, 1, 1, 1} //D2
+, { 1, 1, 1, 1} //D3
+}
+,
+{ // LARGE_PIVOT
+ { 2, 2, 2, 2} //D0
+, { 2, 2, 2, 2} //D1
+, { 1, 1, 1, 1} //D2
+, { 1, 1, 1, 1} //D3
+}
+,
+{ // LARGE_CONFIRM
+{ 2, 2, 2, 2} //D0
+, { 2, 2, 2, 2} //D1
+, { 1, 1, 1, 1} //D2
+, { 1, 1, 1, 1} //D3
+}
+,
+{ //TOY_PIVOT
+ { 9, 10, 9, 10} //D0
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+,
+{ // TOY_CONFIRM
+ { 10, 10, 10, 10} //D0
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+, { UNDEFINED , UNDEFINED , UNDEFINED , UNDEFINED }
+}
+};
+
+static const float Z_CENTER_STGC_DETECTOR[STGC_TYPES][STGC_LAYERS]={
+ { 7377.5, 7388.8, 7400.2, 7411.5} // SMALL_PIVOT
+, { 7087.5, 7098.8, 7110.2, 7121.5} // SMALL_CONFIRM
+, { 7511.5, 7522.8, 7534.2, 7545.5} // LARGE_PIVOT
+, { 7801.5, 7812.8, 7824.2, 7835.5} // LARGE_CONFIRM
+, { 18.0, 29.3, 40.7, 52.0} // TOY_PIVOT
+, { 308.0, 319.3, 330.7, 342.0} // TOY_CONFIRM
+};
+
+static const std::string STGC_LAYER_NAMES[STGC_LAYERS]={
+ "Layer 1"
+, "Layer 2"
+, "Layer 3"
+, "Layer 4"
+};
+
+static const std::string STGC_DETECTOR_NAMES[STGC_DETECTORS]={
+ "STGC Detector 0"
+, "STGC Detector 1"
+, "STGC Detector 2"
+, "STGC Detector 3"
+};
+
+static const std::string STGC_MODULE_NAMES[STGC_MODULES]={
+ "STGC Module 1"
+, "STGC Module 2"
+, "STGC Module 3"
+};
+
+static const std::string PIVOT_CONFIRM_NAMES[STGC_WEDGES]={
+ "Pivot"
+, "Confirm"
+};
+
+static const std::string SECTOR_NAMES[SECTOR_TYPES]={
+ "Small"
+, "Large"
+, "Toy"
+};
+
+static const std::string WEDGE_NAMES[STGC_TYPES]={
+ "SmallPivot"
+, "SmallConfirm"
+, "LargePivot"
+, "LargeConfirm"
+, "ToyPivot"
+, "ToyConfirm"
+};
+
+static const std::string SHORT_WEDGE_NAMES[STGC_TYPES]={ "SP" , "SC"
+ , "LP" , "LC"
+ , "TP" , "TC" };
+static const int MM_TYPE[SECTORS_IN_OCTANT][MM_MODULES]={
+ { REGULAR , CORNERED , REGULAR , REGULAR }
+, { REGULAR , REGULAR , REGULAR , EXTRUDED }
+};
+
+static const float MM_H0[SECTORS_IN_OCTANT][MM_MODULES]={
+ { UNDEF , 1966.0, UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+};
+
+static const float MM_H1[SECTORS_IN_OCTANT][MM_MODULES]={
+ { 1016.0, 2056.3, 2816.0, 3666.0}
+, { 982.0, 1932.0, 2882.0, 3832.0}
+};
+
+static const float MM_H2[SECTORS_IN_OCTANT][MM_MODULES]={
+ { 1946.0, 2796.0, 3646.0, 4471.0}
+, { 1912.0, 2862.0, 3812.0, 4287.0}
+};
+
+static const float MM_H3[SECTORS_IN_OCTANT][MM_MODULES]={
+ { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , 4742.0}
+};
+
+static const float MM_D[SECTORS_IN_OCTANT][MM_MODULES]={
+ { UNDEF , 1158.4, UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , UNDEF }
+};
+
+static const float MM_A[SECTORS_IN_OCTANT][MM_MODULES]={
+ { 371.4, 1233.2, 1392.9, 1571.6}
+, { 582.3, 1145.1, 1707.9, 2270.7}
+};
+
+static const float MM_B[SECTORS_IN_OCTANT][MM_MODULES]={
+ { 1141.8, 1388.7, 1567.4, 1740.8}
+, { 1133.3, 1696.1, 2258.9, 2540.3}
+};
+
+static const float MM_C[SECTORS_IN_OCTANT][MM_MODULES]={
+ { UNDEF , UNDEF , UNDEF , UNDEF }
+, { UNDEF , UNDEF , UNDEF , 2220.0}
+};
+
+static const float MM_ZMIN[SECTORS_IN_OCTANT] ={ 7104.5, 7528.5};
+static const float MM_ZMAX[SECTORS_IN_OCTANT] ={ 7394.5, 7818.5};
+
+static const std::string MM_MODULE_NAMES[MM_MODULES]={
+ "MM Module 1"
+, "MM Module 2"
+, "MM Module 3"
+, "MM Module 4"
+};
+
+static const std::string MM_TYPE_NAMES[MM_TYPES]={
+ "Regular"
+, "Cornered"
+, "Extruded"
+};
+
+static const float MDT_LOST = 72.0;
+static const float MDT_ZMIN[SECTORS_IN_OCTANT] ={ 14458.0, 14049.0};
+static const float MDT_ZMAX[SECTORS_IN_OCTANT] ={ 14124.0, 13715.0};
+
+static const float MDT_HMIN[SECTORS_IN_OCTANT][MDT_MODULES] ={
+{ 1770.0, 3725.0, 5680.0, 7635.0}
+,{ 1770.0, 3485.0, 5440.0, 7395.0}
+};
+
+static const float MDT_HMAX[SECTORS_IN_OCTANT][MDT_MODULES] ={
+{ 3690.0, 5645.0, 7600.0, 9555.0}
+,{ 3450.0, 5405.0, 7360.0, 9315.0}
+};
+
+static const float MDT_HALF_B[SECTORS_IN_OCTANT] ={ 417.5, 593.3};
+static const float MDT_HALF_OPENING[SECTORS_IN_OCTANT] ={ 8.5, 14.0};
+
+
+
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_compat_enum.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_compat_enum.h
new file mode 100644
index 00000000000..3316d9000ac
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_compat_enum.h
@@ -0,0 +1,32 @@
+// -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+
+#ifndef NSW_TDR_COMPAT_ENUM_H
+#define NSW_TDR_COMPAT_ENUM_H
+
+namespace nsw {
+/**
+   @defgroup tdr_compat_enum "enum values needed for compatibility with TDR code"
+
+   In the TDR study we had several enum and constants (from
+   sTGCenumeration.h and sTGCgeometry.h). We got rid of most of
+   them, but we still need the ones below.
+
+   Note that the enum values might have changed with the new AGDD geometry.
+
+   \todo check enum values DG-2015-10-07 (in particular 0->1 shifts)
+
+*/
+/* @{ */
+const int STGC_LAYER_1=1, STGC_LAYER_2=2, STGC_LAYER_3=3, STGC_LAYER_4=4;
+const int SMALL_PIVOT=0, SMALL_CONFIRM=1, LARGE_PIVOT=2, LARGE_CONFIRM=3;
+/* @} */
+
+} // end namespace nsw
+
+#endif
+
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_typedefs.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_typedefs.h
new file mode 100644
index 00000000000..8cd5c83d4d1
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/tdr_typedefs.h
@@ -0,0 +1,39 @@
+//  -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSW_TDR_TYPEDEFS_H
+#define NSW_TDR_TYPEDEFS_H
+
+/**
+   @brief typedefs used in the sTGC TDR code
+
+   see svn+ssh://svn.cern.ch/reps/atlasusr/ataffard/UpgradeNSW/NSWAna/NSWNtuple/trunk
+
+   @author davide.gerbaudo@gmail.com
+   @date 2013
+*/
+
+#include <string>
+#include <vector>
+
+namespace nsw{
+  class Pad;
+  class PadWithHits;
+  class SingleWedgePadTrigger;
+  class SectorTriggerCandidate;
+}
+
+namespace nsw {
+typedef std::vector< bool >                      vbool_t;
+typedef std::vector< size_t >                    vsize_t;
+typedef std::vector< int >                       vint_t;
+typedef std::vector< vint_t >                    vvint_t;
+typedef std::vector< nsw::PadWithHits >          vpads_t;
+typedef std::vector< SingleWedgePadTrigger >     vswptrig_t;
+typedef std::vector< SectorTriggerCandidate >    vstcand_t;
+}
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.cxx
new file mode 100644
index 00000000000..4dcf3b8c512
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.cxx
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "vector_utils.h"
+
+#include "PadWithHits.h"
+
+#include <sstream>
+#include <iterator>
+
+namespace nsw {
+
+std::string vec2str(const nsw::vsize_t &vec){
+    std::ostringstream oss;
+    oss<<"[";
+    if(!vec.empty()) {
+        std::copy(vec.begin(), vec.end()-1, std::ostream_iterator<int>(oss, ","));
+        oss << vec.back(); // avoid trailing ','
+    }
+    oss<<"]";
+    return oss.str();
+}
+std::string vec2str(const nsw::vpads_t &vec){
+    std::ostringstream oss;
+    for(nsw::vpads_t::const_iterator it=vec.begin(); it!=vec.end(); ++it)
+        oss<<(*it)<<", ";
+    return oss.str();
+}
+
+} // nsw
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.h b/Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.h
new file mode 100644
index 00000000000..7093aff3874
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/vector_utils.h
@@ -0,0 +1,38 @@
+//  -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSW_VECTOR_UTILS_H
+#define NSW_VECTOR_UTILS_H
+
+#include "tdr_typedefs.h"
+
+#include <vector>
+
+/**
+   @brief vector to string utility functions for TDR study
+
+   @author davide.gerbaudo@gmail.com
+   @date 2013
+ */
+namespace nsw {
+std::string vec2str(const nsw::vsize_t &vec);
+std::string vec2str(const nsw::vpads_t &vec);
+
+/// given a vector, return something like range(len(vec))
+template <typename Container>
+std::vector<size_t> indices(Container const & container) {
+    std::vector<size_t> idx(container.size(), 0);
+    size_t i=0;
+    while(i<container.size()){
+        idx[i]= i;
+        i++;
+    }
+    return idx;
+}
+
+} // nsw
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/test/L1TdrStgcTriggerLogic_test.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/test/L1TdrStgcTriggerLogic_test.cxx
new file mode 100644
index 00000000000..a5ed765891e
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/test/L1TdrStgcTriggerLogic_test.cxx
@@ -0,0 +1,73 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+   @brief validate the logic of the TDR-like pad trigger
+
+   davide.gerbaudo@gmail.com
+   Oct 2015
+ */
+#undef NDEBUG // allow 'assert' (disabled in optimized builds)
+
+#include "PadDummyData.h"
+
+#include "../src/L1TdrStgcTriggerLogic.h"
+#include "../src/PadTriggerLogicOfflineTool.h" // convertPadData2PadWithHits
+#include "../src/PadWithHits.h"
+#include "../src/SectorTriggerCandidate.h"
+#include "../src/vector_utils.h" // indices
+#include "TrigT1NSWSimTools/PadTrigger.h"
+
+#include <iostream>
+
+using namespace std;
+using NSWL1::PadData;
+using NSWL1::PadDummyData;
+using NSWL1::PadTrigger;
+using nsw::PadWithHits;
+using nsw::SectorTriggerCandidate;
+using nsw::L1TdrStgcTriggerLogic;
+
+using NSWL1::PadTriggerLogicOfflineTool;
+
+//------------------------------------------------------------------------------
+vector<PadWithHits> generate_8_pads_aligned(const int &side, const int &sector)
+{
+    PadDummyData p; // template pad
+    p.sideId(side).sectorId(sector).multipletId(1).padEtaId(1).padPhiId(2);
+    const int innerMultiplet(0), outerMultiplet(1);
+    vector<PadDummyData> pads;
+    pads.push_back(p.gasGapId(0).multipletId(innerMultiplet));
+    pads.push_back(p.gasGapId(1).multipletId(innerMultiplet));
+    pads.push_back(p.gasGapId(2).multipletId(innerMultiplet));
+    pads.push_back(p.gasGapId(3).multipletId(innerMultiplet));
+
+    pads.push_back(p.gasGapId(0).multipletId(outerMultiplet));
+    pads.push_back(p.gasGapId(1).multipletId(outerMultiplet));
+    pads.push_back(p.gasGapId(2).multipletId(outerMultiplet));
+    pads.push_back(p.gasGapId(3).multipletId(outerMultiplet));
+    
+    vector<PadWithHits> pwhs;
+    for(PadDummyData &p : pads)
+        pwhs.push_back(PadTriggerLogicOfflineTool::convertPadData2PadWithHits(p));
+    return pwhs;
+}
+//------------------------------------------------------------------------------
+int main()
+{
+    cout<<"running L1TdrStgcTriggerLogic__test"<<endl;
+    L1TdrStgcTriggerLogic triggerLogic;
+    triggerLogic.m_verbose = true;
+    vector<PadWithHits> triggeringPads = generate_8_pads_aligned(0, 5);
+    vector<size_t> padIndicesThisSector = nsw::indices(triggeringPads);
+    vector< SectorTriggerCandidate > triggers;
+    triggerLogic.buildSectorTriggers(triggeringPads, padIndicesThisSector);
+    cout<<"got "<<triggers.size()<<" triggers from generate_8_pads_aligned"<<endl;
+
+    /// @todo test 3/4
+    /// @todo test mismatching inner/outer
+    /// @todo test missing hits
+
+    return 0;
+}
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/test/PadDummyData.h b/Trigger/TrigT1/TrigT1NSWSimTools/test/PadDummyData.h
new file mode 100644
index 00000000000..73c78a2a80a
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/test/PadDummyData.h
@@ -0,0 +1,90 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// -*-c++-*-
+#ifndef NSWL1_PADDUMMYDATA_H
+#define NSWL1_PADDUMMYDATA_H
+
+#include "Identifier/Identifier.h"
+
+#include "TrigT1NSWSimTools/PadData.h"
+
+namespace NSWL1 {
+
+/**
+   @short dummy PadData for unit test
+
+   Contains only the values you set by hand (i.e. does not retrieve
+   anything from the stgc helper). Everything else is set to
+   default dummy values.
+
+   @author davide.gerbaudo@gmail.com
+   @date October 2015
+*/
+
+class PadDummyData: public PadData {
+
+public:
+    PadDummyData():
+        m_id(0x0),
+        m_time(0.0),
+        m_bc_tag(0),
+        m_sideId(0),
+        m_moduleId(0),
+        m_sectorId(0),
+        m_multipletId(0),
+        m_gasGapId(0),
+        m_channelId(0),
+        m_padEtaId(0),
+        m_padPhiId(0) {}
+
+    /** @defgroup getters
+        @{
+    */
+    uint32_t id()       const { return m_id;          }
+    uint16_t BC_Tag()   const { return m_bc_tag;      }
+    float time()        const { return m_time;        }
+    int sideId()        const { return m_sideId;      }
+    int moduleId()      const { return m_moduleId;    }
+    int sectorId()      const { return m_sectorId;    }
+    int multipletId()   const { return m_multipletId; }
+    int gasGapId()      const { return m_gasGapId;    }
+    int channelId()     const { return m_channelId;   }
+    int padEtaId()      const { return m_padEtaId;    }
+    int padPhiId()      const { return m_padPhiId;    }
+    /** @} */
+
+    /** @defgroup setters
+        @{
+    */
+    PadDummyData& id(const uint32_t &v)     { m_id = v; return *this;          }
+    PadDummyData& BC_Tag(const uint16_t &v) { m_bc_tag = v; return *this;      }
+    PadDummyData& time(const float &v)      { m_time = v; return *this;        }
+    PadDummyData& sideId(const int &v)      { m_sideId = v; return *this;      }
+    PadDummyData& moduleId(const int &v)    { m_moduleId = v; return *this;    }
+    PadDummyData& sectorId(const int &v)    { m_sectorId = v; return *this;    }
+    PadDummyData& multipletId(const int &v) { m_multipletId = v; return *this; }
+    PadDummyData& gasGapId(const int &v)    { m_gasGapId = v; return *this;    }
+    PadDummyData& channelId(const int &v)   { m_channelId = v; return *this;   }
+    PadDummyData& padEtaId(const int &v)    { m_padEtaId = v; return *this;    }
+    PadDummyData& padPhiId(const int &v)    { m_padPhiId = v; return *this;    }
+    /** @} */
+
+private:
+    uint32_t m_id;
+    float    m_time;
+    uint16_t m_bc_tag;
+    int m_sideId;
+    int m_moduleId;
+    int m_sectorId;
+    int m_multipletId;
+    int m_gasGapId;
+    int m_channelId;
+    int m_padEtaId;
+    int m_padPhiId;
+  };  // end PadDummyData
+
+} // namespace NSWL1
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/test/PadTriggerLogicOfflineTool_test.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/test/PadTriggerLogicOfflineTool_test.cxx
new file mode 100644
index 00000000000..2fbdd56da26
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/test/PadTriggerLogicOfflineTool_test.cxx
@@ -0,0 +1,57 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+   @brief validate the logic of the 4-out-of-4 pad trigger
+
+   davide.gerbaudo@gmail.com
+   Oct 2015
+ */
+#undef NDEBUG // allow 'assert' (disabled in optimized builds)
+
+#include "PadDummyData.h"
+
+#include "../src/PadTriggerLogicOfflineTool.h"
+#include "TrigT1NSWSimTools/PadData.h"
+#include "TrigT1NSWSimTools/PadTrigger.h"
+
+#include <iostream>
+
+using namespace std;
+using NSWL1::PadData;
+using NSWL1::PadDummyData;
+using NSWL1::PadTrigger;
+using NSWL1::PadTriggerLogicOfflineTool;
+
+//------------------------------------------------------------------------------
+vector<PadDummyData> generate_4_pads_aligned(const int &side, const int &sector)
+{
+    PadDummyData p; // template pad
+    p.sideId(side).sectorId(sector).multipletId(1).padEtaId(1).padPhiId(2);
+    vector<PadDummyData> pads;
+    pads.push_back(p.gasGapId(0));
+    pads.push_back(p.gasGapId(1));
+    pads.push_back(p.gasGapId(2));
+    pads.push_back(p.gasGapId(3));
+    return pads;
+}
+//------------------------------------------------------------------------------
+vector<PadData*> vector_obj_2_vector_ptrs(vector<PadDummyData> &in)
+{
+    vector<PadData*> out(in.size(), nullptr);
+    for(size_t i=0; i<in.size(); ++i)
+        out[i] = static_cast<PadData*>(&(in[i]));
+    return out;
+}
+//------------------------------------------------------------------------------
+int main()
+{
+    cout<<"running PadTriggerLogicOfflineTool_test"<<endl;
+    vector<PadDummyData> triggeringPads = generate_4_pads_aligned(0, 5);
+    std::vector<PadData*> padData = vector_obj_2_vector_ptrs(triggeringPads);
+    vector<PadTrigger*> triggers = PadTriggerLogicOfflineTool::build4of4SingleWedgeTriggers(padData);
+    cout<<"got "<<triggers.size()<<" triggers from generate_4_pads_aligned"<<endl;
+    
+    return 0;
+}
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/test_view_schedule.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/test_view_schedule.sh
new file mode 100755
index 00000000000..1ffa447475b
--- /dev/null
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/test_view_schedule.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# art-type: build
+# art-ci: master
+
+athena.py --threads=$THREADS AthViews/ViewScheduling.py
diff --git a/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP13DCocktailPlugin_VP1AutoFactory.h b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP13DCocktailPlugin_VP1AutoFactory.h
new file mode 100644
index 00000000000..b8bc098e62e
--- /dev/null
+++ b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP13DCocktailPlugin_VP1AutoFactory.h
@@ -0,0 +1,29 @@
+// Originally autogenerated by CMT with VP1 Factory Code Header File (Fri Aug 19 13:36:52 CEST 2016)
+// Now we add this file to plugins by hand, to simplify the CMake compilation
+
+#ifndef VP13DCocktailPlugin_VP1AutoFactory_H
+#define VP13DCocktailPlugin_VP1AutoFactory_H
+
+#include <QObject>
+#include <QStringList>
+
+#include "VP1Base/IVP1ChannelWidgetFactory.h"
+
+class VP13DCocktailPlugin_VP1AutoFactory : public QObject, public IVP1ChannelWidgetFactory
+{
+  Q_OBJECT
+
+  #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+    Q_PLUGIN_METADATA(IID "VP13DCocktailPlugin" FILE "") // apparently, FILE can be empty
+  # else
+    Q_EXPORT_PLUGIN2(pnp_vp13dcocktailplugin_vp1autofactory, VP13DCocktailPlugin_VP1AutoFactory)
+  #endif
+
+  Q_INTERFACES(IVP1ChannelWidgetFactory)
+
+public:
+  virtual QStringList channelWidgetsProvided() const;
+  virtual IVP1ChannelWidget * getChannelWidget(const QString & channelwidget);
+};
+
+#endif
diff --git a/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP1TrackCaloPlugin_VP1AutoFactory.h b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP1TrackCaloPlugin_VP1AutoFactory.h
new file mode 100644
index 00000000000..e3f4b9ea979
--- /dev/null
+++ b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/VP13DCocktailPlugin/VP1TrackCaloPlugin_VP1AutoFactory.h
@@ -0,0 +1,29 @@
+// Originally autogenerated by CMT with VP1 Factory Code Header File (Fri Aug 19 13:36:52 CEST 2016)
+// Now we add this file to plugins by hand, to simplify the CMake compilation
+
+#ifndef VP1TrackCaloPlugin_VP1AutoFactory_H
+#define VP1TrackCaloPlugin_VP1AutoFactory_H
+
+#include <QObject>
+#include <QStringList>
+
+#include "VP1Base/IVP1ChannelWidgetFactory.h"
+
+class VP1TrackCaloPlugin_VP1AutoFactory : public QObject, public IVP1ChannelWidgetFactory
+{
+  Q_OBJECT
+
+  #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+    Q_PLUGIN_METADATA(IID "VP1TrackCaloPlugin" FILE "") // apparently, FILE can be empty
+  # else
+    Q_EXPORT_PLUGIN2(pnp_vp1trackcaloplugin_vp1autofactory, VP1TrackCaloPlugin_VP1AutoFactory)
+  #endif
+
+  Q_INTERFACES(IVP1ChannelWidgetFactory)
+
+public:
+  virtual QStringList channelWidgetsProvided() const;
+  virtual IVP1ChannelWidget * getChannelWidget(const QString & channelwidget);
+};
+
+#endif
diff --git a/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP13DCocktailPlugin_VP1AutoFactory.cxx b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP13DCocktailPlugin_VP1AutoFactory.cxx
new file mode 100644
index 00000000000..dfbe503c09c
--- /dev/null
+++ b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP13DCocktailPlugin_VP1AutoFactory.cxx
@@ -0,0 +1,38 @@
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/////////////////////////////////////////////////////////////////
+//                                                             //
+//  Implementation of class VP13DCocktailPlugin_VP1AutoFactory //
+//                                                             //
+//  Author: Riccardo Maria BIANCHI <rbianchi@cern.ch>          //
+//                                                             //
+//  Update version: Dec 2017                                   //
+//                                                             //
+/////////////////////////////////////////////////////////////////
+
+
+// Originally, this file was autogenerated by CMT with VP1 Factory Code Header File
+// Now we add this file to plugins by hand, to simplify the CMake compilation
+
+#include <QtPlugin>
+#include "VP13DCocktailPlugin/VP13DCocktailPlugin_VP1AutoFactory.h"
+#include "VP13DCocktailPlugin/VP13DCocktailChannel.h"
+
+QStringList VP13DCocktailPlugin_VP1AutoFactory::channelWidgetsProvided() const
+{
+  return QStringList()
+        << "3DCocktail"
+         ;
+}
+
+IVP1ChannelWidget * VP13DCocktailPlugin_VP1AutoFactory::getChannelWidget(const QString & channelwidget)
+{
+  if (channelwidget == "3DCocktail")
+    return new VP13DCocktailChannel();
+
+  return 0;
+}
+
diff --git a/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP1TrackCaloPlugin_VP1AutoFactory.cxx b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP1TrackCaloPlugin_VP1AutoFactory.cxx
new file mode 100644
index 00000000000..cec8d82b8ca
--- /dev/null
+++ b/graphics/VP1/VP1Plugins/VP13DCocktailPlugin/src/VP1TrackCaloPlugin_VP1AutoFactory.cxx
@@ -0,0 +1,38 @@
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/////////////////////////////////////////////////////////////////
+//                                                             //
+//  Implementation of class VP1TrackCaloPlugin_VP1AutoFactory  //
+//                                                             //
+//  Author: Riccardo Maria BIANCHI <rbianchi@cern.ch>          //
+//                                                             //
+//  Update version: Dec 2017                                   //
+//                                                             //
+/////////////////////////////////////////////////////////////////
+
+
+// Originally, this file was autogenerated by CMT with VP1 Factory Code Header File
+// Now we add this file to plugins by hand, to simplify the CMake compilation
+
+#include <QtPlugin>
+#include "VP13DCocktailPlugin/VP1TrackCaloPlugin_VP1AutoFactory.h"
+#include "VP13DCocktailPlugin/VP1TrackCaloChannel.h"
+
+QStringList VP1TrackCaloPlugin_VP1AutoFactory::channelWidgetsProvided() const
+{
+  return QStringList()
+        << "TrackCalo"
+         ;
+}
+
+IVP1ChannelWidget * VP1TrackCaloPlugin_VP1AutoFactory::getChannelWidget(const QString & channelwidget)
+{
+  if (channelwidget == "TrackCalo")
+    return new VP1TrackCaloChannel();
+
+  return 0;
+}
+
-- 
GitLab