 |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef THINNINGUTILS_ThinInDetClustersAlg_H
8 #define THINNINGUTILS_ThinInDetClustersAlg_H 1
17 #include "GaudiKernel/ServiceHandle.h"
18 #include "GaudiKernel/ToolHandle.h"
52 mutable std::atomic<unsigned int>
m_ntot{};
53 mutable std::atomic<unsigned int>
m_npass{};
56 {
this,
"ThinPixelHitsOnTrack",
false,
""};
58 {
this,
"ThinSCTHitsOnTrack",
false,
""};
60 {
this,
"ThinTRTHitsOnTrack",
false,
""};
64 {
this,
"StreamName",
"",
"Name of the stream being thinned" };
70 {
this,
"SelectionString",
"InDetTrackParticles.pt>10*GeV",
"Selection string for each TrackParticle container" };
74 {
this,
"InDetTrackParticlesKey",
"InDetTrackParticles",
"" };
80 {
this,
"InDetTrackStatesPixKey",
"PixelMSOSs",
"" };
85 {
this,
"InDetTrackMeasurementsPixKey",
"PixelClusters",
"" };
90 {
this,
"InDetTrackStatesSctKey",
"SCT_MSOSs",
"" };
95 {
this,
"InDetTrackMeasurementsSctKey",
"SCT_Clusters",
"" };
100 {
this,
"InDetTrackStatesTrtKey",
"TRT_MSOSs",
"" };
105 {
this,
"InDetTrackMeasurementsTrtKey",
"TRT_DriftCircles",
"" };
125 const std::vector<bool>& inputMask,
127 std::vector<bool>& outputStatesMask, std::vector<bool>& outputMeasurementsMask)
const;
132 const std::vector<bool>& inputMask,
135 std::atomic<unsigned int>& ntot_states,
136 std::atomic<unsigned int>& npass_states,
137 std::atomic<unsigned int>& npass_measurements,
138 const EventContext& ctx)
const;
141 #endif //> !THINNINGUTILS_ThinInDetClustersAlg_H
std::atomic< unsigned int > m_npass_trt_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesSctSGKey
std::atomic< unsigned int > m_npass_sct_states
HandleKey object for adding thinning to an object.
StringProperty m_selectionString
Expressions for object thinning selections Default InDetTrackParticles (also accomplished through fla...
std::atomic< unsigned int > m_npass
MeasurementType
Track state types Subset of enum MeasurementType from Athena: Tracking/TrkEvent/TrkEventPrimitives/Tr...
BooleanProperty m_thinTRTHitsOnTrack
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
Athena algorithm's finalize hook.
virtual ~ThinInDetClustersAlg()=default
Destructor:
std::atomic< unsigned int > m_ntot
Counters and keys for xAOD::TrackParticle container.
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesPixSGKey
virtual StatusCode initialize() override
Athena algorithm's initalize hook.
ThinInDetClustersAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
::StatusCode StatusCode
StatusCode definition for legacy code.
std::atomic< unsigned int > m_npass_sct_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsPixSGKey
BooleanProperty m_thinSCTHitsOnTrack
StringProperty m_streamName
Stream for object thinning selections.
virtual StatusCode execute(const EventContext &ctx) const override
Athena algorithm's execute hook.
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
SGKey for TrackParticleContainer.
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesTrtSGKey
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsTrtSGKey
std::atomic< unsigned int > m_ntot_pix_states
Counters and keys for xAOD::TrackStateValidation and xAOD::TrackMeasurementValidation containers.
std::atomic< unsigned int > m_ntot_trt_measurements
std::atomic< unsigned int > m_npass_trt_measurements
std::atomic< unsigned int > m_ntot_trt_states
std::atomic< unsigned int > m_npass_pix_states
@ TrkState_NumberOfMeasurementTypes
std::atomic< unsigned int > m_ntot_pix_measurements
HandleKey object for adding thinning to an object.
BooleanProperty m_thinPixelHitsOnTrack
Thinning logic.
StatusCode filterTrackHits(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 > &npass_states, std::atomic< unsigned int > &npass_measurements, const EventContext &ctx) const
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
For P->T converter of SCT_Clusters.
std::atomic< unsigned int > m_ntot_sct_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsSctSGKey
std::atomic< unsigned int > m_npass_pix_measurements
std::atomic< unsigned int > m_ntot_sct_states