diff --git a/Event/xAOD/xAODTracking/Root/TrackParticleAuxContainer_v2.cxx b/Event/xAOD/xAODTracking/Root/TrackParticleAuxContainer_v2.cxx index f7ffc6f9db15507c827e20fea554d7e185028188..e8600e48fc671c58b2568184a0ab9fcbf27e24dc 100644 --- a/Event/xAOD/xAODTracking/Root/TrackParticleAuxContainer_v2.cxx +++ b/Event/xAOD/xAODTracking/Root/TrackParticleAuxContainer_v2.cxx @@ -82,7 +82,7 @@ namespace xAOD { AUX_VARIABLE( numberOfTRTDeadStraws ); AUX_VARIABLE( numberOfTRTTubeHits ); AUX_VARIABLE( numberOfTRTXenonHits ); - + AUX_VARIABLE( numberOfTRTSharedHits ); AUX_VARIABLE( numberOfPrecisionLayers ); AUX_VARIABLE( numberOfPrecisionHoleLayers ); AUX_VARIABLE( numberOfPhiLayers ); diff --git a/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx index 9261d3e013dddd3b5d4f9ebd65c6dcb89f5bcc31..bfa20fbe1d36b83dc55d3b7f59caf11a21e580ab 100644 --- a/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx +++ b/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx @@ -246,6 +246,7 @@ namespace xAOD { size_t TrackParticle_v1::numberOfParameters() const{ ///@todo - Can we do this in a better way? Not great to force retrieval of one specific parameter - any would do. static Accessor< std::vector<float> > acc( "parameterX" ); + if(! acc.isAvailable( *this )) return 0; return acc(*this).size(); } diff --git a/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx index 2bfb84d53bd84b466e38650fe51fb701737c729b..edffa020f373a2aa0d088a5285353bdd50e358b9 100644 --- a/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx +++ b/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx @@ -95,6 +95,7 @@ namespace xAOD { DEFINE_ACCESSOR( uint8_t, numberOfTRTDeadStraws ); DEFINE_ACCESSOR( uint8_t, numberOfTRTTubeHits ); DEFINE_ACCESSOR( uint8_t, numberOfTRTXenonHits ); + DEFINE_ACCESSOR( uint8_t, numberOfTRTSharedHits ); DEFINE_ACCESSOR( uint8_t, numberOfPrecisionLayers ); DEFINE_ACCESSOR( uint8_t, numberOfPrecisionHoleLayers ); DEFINE_ACCESSOR( uint8_t, numberOfPhiLayers ); diff --git a/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h b/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h index 118e1d37491736ecbceb4ae931e879ebe53481c6..ed2aba54f382ac9d2f17309fbf2b3f5ce628989d 100644 --- a/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h +++ b/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h @@ -258,6 +258,7 @@ namespace xAOD { numberOfTRTDeadStraws =37, //!< number of dead TRT straws crossed [unit8_t]. numberOfTRTTubeHits =38, //!< number of TRT tube hits [unit8_t]. numberOfTRTXenonHits =46, //!< number of TRT hits on track in straws with xenon [unit8_t]. + numberOfTRTSharedHits =62, //!< number of TRT hits used by more than one track // --- Muon Spectrometer numberOfPrecisionLayers = 7, //!< layers with at least 3 hits [unit8_t]. @@ -277,7 +278,7 @@ namespace xAOD { eProbabilityBrem = 50, //!< Electron probability from Brem fitting (DNA) [float]. pixeldEdx = 51, //!< the dE/dx estimate, calculated using the pixel clusters [?] // -- numbers... - numberOfTrackSummaryTypes = 62 + numberOfTrackSummaryTypes = 63 }; /// Enumerates the different types of information stored in Summary. diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticleAuxContainer_v2.h b/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticleAuxContainer_v2.h index e976cd4df6e01928de71b5404340ad4bd2715c0f..64e81a6ac3b7200de6435dc8e27d7e29e5e16fc2 100644 --- a/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticleAuxContainer_v2.h +++ b/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticleAuxContainer_v2.h @@ -134,6 +134,7 @@ namespace xAOD { std::vector< uint8_t > numberOfTRTDeadStraws ; std::vector< uint8_t > numberOfTRTTubeHits ; std::vector< uint8_t > numberOfTRTXenonHits ; + std::vector< uint8_t > numberOfTRTSharedHits ; std::vector< uint8_t > numberOfPrecisionLayers; std::vector< uint8_t > numberOfPrecisionHoleLayers;