28 using base_class::base_class;
31 virtual StatusCode
finalize()
override final;
32 virtual StatusCode
doThinning()
const override final;
40 {
this,
"StreamName",
"",
"Name of the stream being thinned" };
42 {
this,
"InDetTrackParticlesKey",
"InDetTrackParticles",
"" };
47 {
this,
"InDetTrackStatesPixKey",
"PixelMSOSs",
"" };
50 {
this,
"InDetTrackMeasurementsPixKey",
"PixelClusters",
"" };
53 {
this,
"InDetTrackStatesSctKey",
"SCT_MSOSs",
"" };
56 {
this,
"InDetTrackMeasurementsSctKey",
"SCT_Clusters",
"" };
59 {
this,
"InDetTrackStatesTrtKey",
"TRT_MSOSs",
"" };
62 {
this,
"InDetTrackMeasurementsTrtKey",
"TRT_DriftCircles",
"" };
85 const std::vector<bool>& inputMask,
87 std::vector<bool>& outputStatesMask, std::vector<bool>& outputMeasurementsMask)
const;
90 (
const EventContext& ctx,
93 const std::vector<bool>& inputMask,
96 std::atomic<unsigned int>& ntot_states,
97 std::atomic<unsigned int>& ntot_measurements,
98 std::atomic<unsigned int>& npass_states,
99 std::atomic<unsigned int>& npass_measurements)
const;
std::atomic< unsigned int > m_ntot_pix_measurements
std::atomic< unsigned int > m_ntot_pix_states
std::atomic< unsigned int > m_ntot_trt_measurements
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesPixSGKey
std::atomic< unsigned int > m_npass_trt_measurements
virtual StatusCode initialize() override
std::atomic< unsigned int > m_npass_pix_states
std::atomic< unsigned int > m_ntot_sct_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesTrtSGKey
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesSctSGKey
std::atomic< unsigned int > m_npass_sct_measurements
virtual StatusCode doThinning() const override final
std::atomic< unsigned int > m_npass_pix_measurements
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
void selectTrackHits(const xAOD::TrackParticleContainer &inputTrackParticles, const std::vector< bool > &inputMask, MeasurementType detTypeToSelect, std::vector< bool > &outputStatesMask, std::vector< bool > &outputMeasurementsMask) const
Select TrackStateValidation and TrackMeasurementValidation objects that are used in the (thinned) tra...
virtual StatusCode finalize() override final
Gaudi::Property< bool > m_thinHitsOnTrack
virtual std::vector< int > updateMask(const xAOD::TrackParticleContainer *) const
std::atomic< unsigned int > m_npass
std::atomic< unsigned int > m_ntot
void filterTrackHits(const EventContext &ctx, MeasurementType detTypeToSelect, const xAOD::TrackParticleContainer &inputTrackParticles, const std::vector< bool > &inputMask, const SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > &statesKey, const SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > &measurementsKey, std::atomic< unsigned int > &ntot_states, std::atomic< unsigned int > &ntot_measurements, std::atomic< unsigned int > &npass_states, std::atomic< unsigned int > &npass_measurements) const
std::atomic< unsigned int > m_npass_trt_states
std::atomic< unsigned int > m_ntot_sct_measurements
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsSctSGKey
std::atomic< unsigned int > m_ntot_trt_states
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsPixSGKey
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsTrtSGKey
std::atomic< unsigned int > m_npass_sct_states