|
ATLAS Offline Software
|
#include <ThinInDetClustersAlg.h>
|
| ThinInDetClustersAlg (const std::string &name, ISvcLocator *pSvcLocator) |
| Constructor with parameters: More...
|
|
virtual | ~ThinInDetClustersAlg ()=default |
| Destructor: More...
|
|
virtual StatusCode | initialize () override |
| Athena algorithm's initalize hook. More...
|
|
virtual StatusCode | execute () override |
| Athena algorithm's execute hook. More...
|
|
virtual StatusCode | finalize () override |
| Athena algorithm's finalize hook. More...
|
|
StatusCode | initializeParser (const ExpressionParsing::SelectionArg< 1 > &selection_string) |
|
StatusCode | finalizeParser () |
|
virtual bool | updateDataNeeds (const std::vector< const DataObjID * > &input_data_in, const std::vector< const DataObjID * > &output_data_in, std::vector< Gaudi::DataHandle * > &new_input_handles, std::vector< Gaudi::DataHandle * > &new_output_handles) override |
| Inform a dynamic data consumer about all consumed or produced data. More...
|
|
virtual bool | renounceInput (const DataObjID &output_data_id) override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
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) track container. More...
|
|
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, unsigned int &ntot_states, unsigned int &npass_states, unsigned int &npass_measurements) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
unsigned int | m_ntot = 0 |
| Counters and keys for xAOD::TrackParticle container. More...
|
|
unsigned int | m_npass = 0 |
|
BooleanProperty | m_thinPixelHitsOnTrack { this, "ThinPixelHitsOnTrack", false, ""} |
| Thinning logic. More...
|
|
BooleanProperty | m_thinSCTHitsOnTrack { this, "ThinSCTHitsOnTrack", false, ""} |
|
BooleanProperty | m_thinTRTHitsOnTrack { this, "ThinTRTHitsOnTrack", false, ""} |
|
StringProperty | m_streamName { this, "StreamName", "", "Name of the stream being thinned" } |
| Stream for object thinning selections. More...
|
|
StringProperty | m_selectionString { this, "SelectionString", "InDetTrackParticles.pt>10*GeV", "Selection string for each TrackParticle container" } |
| Expressions for object thinning selections Default InDetTrackParticles (also accomplished through flag.Tracking.thinPixelClustersSelectionStrings defaults) More...
|
|
SG::ThinningHandleKey< xAOD::TrackParticleContainer > | m_inDetSGKey { this, "InDetTrackParticlesKey", "InDetTrackParticles", "" } |
| SGKey for TrackParticleContainer. More...
|
|
unsigned int | m_ntot_pix_states = 0 |
| Counters and keys for xAOD::TrackStateValidation and xAOD::TrackMeasurementValidation containers. More...
|
|
unsigned int | m_npass_pix_states = 0 |
|
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > | m_statesPixSGKey { this, "InDetTrackStatesPixKey", "PixelMSOSs", "" } |
|
unsigned int | m_ntot_pix_measurements = 0 |
|
unsigned int | m_npass_pix_measurements = 0 |
|
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > | m_measurementsPixSGKey { this, "InDetTrackMeasurementsPixKey", "PixelClusters", "" } |
|
unsigned int | m_ntot_sct_states = 0 |
|
unsigned int | m_npass_sct_states = 0 |
|
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > | m_statesSctSGKey { this, "InDetTrackStatesSctKey", "SCT_MSOSs", "" } |
|
unsigned int | m_ntot_sct_measurements = 0 |
|
unsigned int | m_npass_sct_measurements = 0 |
|
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > | m_measurementsSctSGKey { this, "InDetTrackMeasurementsSctKey", "SCT_Clusters", "" } |
|
unsigned int | m_ntot_trt_states = 0 |
|
unsigned int | m_npass_trt_states = 0 |
|
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > | m_statesTrtSGKey { this, "InDetTrackStatesTrtKey", "TRT_MSOSs", "" } |
|
unsigned int | m_ntot_trt_measurements = 0 |
|
unsigned int | m_npass_trt_measurements = 0 |
|
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > | m_measurementsTrtSGKey { this, "InDetTrackMeasurementsTrtKey", "TRT_DriftCircles", "" } |
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"} |
| For P->T converter of SCT_Clusters. More...
|
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 32 of file ThinInDetClustersAlg.h.
◆ StoreGateSvc_t
◆ MeasurementType
◆ ThinInDetClustersAlg()
ThinInDetClustersAlg::ThinInDetClustersAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~ThinInDetClustersAlg()
virtual ThinInDetClustersAlg::~ThinInDetClustersAlg |
( |
| ) |
|
|
virtualdefault |
◆ _initializeParser()
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode ThinInDetClustersAlg::execute |
( |
| ) |
|
|
overridevirtual |
Athena algorithm's execute hook.
Definition at line 117 of file ThinInDetClustersAlg.cxx.
122 ATH_CHECK( importedTrackParticles.isValid() );
127 ATH_CHECK( importedMeasurements.isValid() );
128 unsigned int size_measurements = importedMeasurements->size();
133 ATH_CHECK( importedMeasurements.isValid() );
134 unsigned int size_measurements = importedMeasurements->size();
139 ATH_CHECK( importedMeasurements.isValid() );
140 unsigned int size_measurements = importedMeasurements->size();
146 unsigned int nTracks = importedTrackParticles->size();
147 if (nTracks==0)
return StatusCode::SUCCESS;
150 std::vector<bool>
mask;
151 mask.assign(nTracks,
false);
160 ATH_MSG_ERROR(
"Sizes incompatible! Are you sure your selection string used ID TrackParticles?");
161 return StatusCode::FAILURE;
164 for (
unsigned int i=0;
i<nTracks; ++
i) {
175 *importedTrackParticles,
186 *importedTrackParticles,
197 *importedTrackParticles,
206 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ filterTrackHits()
Definition at line 209 of file ThinInDetClustersAlg.cxx.
219 std::vector<bool> maskStates;
220 std::vector<bool> maskMeasurements;
223 maskStates, maskMeasurements);
225 auto count = [] (
const std::vector<bool>&
m)
227 npass_states +=
count (maskStates);
228 npass_measurements +=
count (maskMeasurements);
230 if (!statesKey.
empty()) {
233 unsigned int size_states = importedStates->size();
234 if (size_states == 0) {
238 ntot_states += size_states;
239 if (maskStates.size() > size_states) {
240 ATH_MSG_ERROR(
"States mask size mismatch: mask size (" << maskStates.size() <<
") > number of states (" << size_states <<
").");
241 return StatusCode::FAILURE;
243 maskStates.resize (size_states);
244 importedStates.keep (maskStates);
248 if (!measurementsKey.
empty()) {
250 ATH_CHECK( importedMeasurements.isValid() );
251 unsigned int size_measurements = importedMeasurements->size();
252 if (size_measurements == 0) {
256 if (maskMeasurements.size() > size_measurements) {
257 ATH_MSG_ERROR(
"Measurements mask size mismatch: mask size (" << maskMeasurements.size() <<
") > number of measurements (" << size_measurements <<
").");
258 return StatusCode::FAILURE;
260 maskMeasurements.resize (size_measurements);
261 importedMeasurements.keep (maskMeasurements);
265 return StatusCode::SUCCESS;
◆ finalize()
StatusCode ThinInDetClustersAlg::finalize |
( |
| ) |
|
|
overridevirtual |
Athena algorithm's finalize hook.
Definition at line 85 of file ThinInDetClustersAlg.cxx.
90 ATH_MSG_INFO(
"Pixel state objects thinning, Total / Passed (Efficiency): "
97 ATH_MSG_INFO(
"SCT state objects thinning, Total / Passed (Efficiency): "
104 ATH_MSG_INFO(
"TRT state objects thinning, Total / Passed (Efficiency): "
113 return StatusCode::SUCCESS;
◆ finalizeParser()
◆ initialize()
StatusCode ThinInDetClustersAlg::initialize |
( |
| ) |
|
|
overridevirtual |
Athena algorithm's initalize hook.
Definition at line 43 of file ThinInDetClustersAlg.cxx.
48 ATH_MSG_FATAL(
"No inner detector track selection strings provided!");
49 return StatusCode::FAILURE;
70 ATH_MSG_DEBUG(
"Initializing measurement ThinningHandleKeys.");
82 return StatusCode::SUCCESS;
◆ initializeParser()
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ renounceInput()
◆ selectTrackHits()
void ThinInDetClustersAlg::selectTrackHits |
( |
const xAOD::TrackParticleContainer & |
inputTrackParticles, |
|
|
const std::vector< bool > & |
inputMask, |
|
|
MeasurementType |
detTypeToSelect, |
|
|
std::vector< bool > & |
outputStatesMask, |
|
|
std::vector< bool > & |
outputMeasurementsMask |
|
) |
| const |
|
private |
Select TrackStateValidation and TrackMeasurementValidation objects that are used in the (thinned) track container.
Definition at line 268 of file ThinInDetClustersAlg.cxx.
273 using StatesOnTrack = std::vector<ElementLink<xAOD::TrackStateValidationContainer>>;
280 if (not inputMask[trkIndex])
continue;
284 if( ! trackStateAcc.isAvailable( *trkIt ) ) {
285 ATH_MSG_INFO(
"Cannot find TrackState link from xAOD::TrackParticle. Skipping track.");
288 const StatesOnTrack& measurementsOnTrack = trackStateAcc(*trkIt);
291 if (not trkState_el.isValid()) {
292 ATH_MSG_INFO(
"Cannot find a valid link to TrackStateValidation object for track index: " << trkIndex);
295 if ((*trkState_el)->detType() != detTypeToSelect) {
296 ATH_MSG_VERBOSE(
"Discarding TrackState as not of correct type " << detTypeToSelect);
299 if (trkState_el.index() >= outputStatesMask.size()) {
300 outputStatesMask.resize (trkState_el.index()+1);
302 outputStatesMask[trkState_el.index()] =
true;
306 if (not trkMeasurement_el.
isValid()) {
307 ATH_MSG_VERBOSE(
"Cannot find a valid link to TrackMeasurementValidation object from track state for track index: " << trkIndex
308 <<
", trackState index: " << trkState_el.index());
311 if (*trkMeasurement_el ==
nullptr) {
312 ATH_MSG_VERBOSE(
"Invalid pointer to TrackMeasurementValidation object from track state for track index: " << trkIndex
313 <<
", trackState index: " << trkState_el.index());
316 if (trkMeasurement_el.
index() >= outputMeasurementsMask.size()) {
317 outputMeasurementsMask.resize (trkMeasurement_el.
index()+1);
319 outputMeasurementsMask[trkMeasurement_el.
index()] =
true;
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateDataNeeds()
virtual bool ExpressionParserUserBase< ::AthAlgorithm , NUM_PARSER >::updateDataNeeds |
( |
const std::vector< const DataObjID * > & |
input_data_in, |
|
|
const std::vector< const DataObjID * > & |
output_data_in, |
|
|
std::vector< Gaudi::DataHandle * > & |
new_input_handles, |
|
|
std::vector< Gaudi::DataHandle * > & |
new_output_handles |
|
) |
| |
|
overridevirtualinherited |
Inform a dynamic data consumer about all consumed or produced data.
- Parameters
-
input_data_in | the input data object IDs of all algorithms and tools |
output_data_in | the output data object IDs of all algorithms and tools |
new_input_handles | the new input data handles added by this call |
new_output_handles | the new output data handles added by this call |
- Returns
- true if the consumer did update its handles, false otherwise
Implements IDynamicDataConsumer.
◆ updateVHKA()
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_inDetSGKey
◆ m_measurementsPixSGKey
◆ m_measurementsSctSGKey
◆ m_measurementsTrtSGKey
◆ m_npass
unsigned int ThinInDetClustersAlg::m_npass = 0 |
|
private |
◆ m_npass_pix_measurements
unsigned int ThinInDetClustersAlg::m_npass_pix_measurements = 0 |
|
private |
◆ m_npass_pix_states
unsigned int ThinInDetClustersAlg::m_npass_pix_states = 0 |
|
private |
◆ m_npass_sct_measurements
unsigned int ThinInDetClustersAlg::m_npass_sct_measurements = 0 |
|
private |
◆ m_npass_sct_states
unsigned int ThinInDetClustersAlg::m_npass_sct_states = 0 |
|
private |
◆ m_npass_trt_measurements
unsigned int ThinInDetClustersAlg::m_npass_trt_measurements = 0 |
|
private |
◆ m_npass_trt_states
unsigned int ThinInDetClustersAlg::m_npass_trt_states = 0 |
|
private |
◆ m_ntot
unsigned int ThinInDetClustersAlg::m_ntot = 0 |
|
private |
◆ m_ntot_pix_measurements
unsigned int ThinInDetClustersAlg::m_ntot_pix_measurements = 0 |
|
private |
◆ m_ntot_pix_states
unsigned int ThinInDetClustersAlg::m_ntot_pix_states = 0 |
|
private |
◆ m_ntot_sct_measurements
unsigned int ThinInDetClustersAlg::m_ntot_sct_measurements = 0 |
|
private |
◆ m_ntot_sct_states
unsigned int ThinInDetClustersAlg::m_ntot_sct_states = 0 |
|
private |
◆ m_ntot_trt_measurements
unsigned int ThinInDetClustersAlg::m_ntot_trt_measurements = 0 |
|
private |
◆ m_ntot_trt_states
unsigned int ThinInDetClustersAlg::m_ntot_trt_states = 0 |
|
private |
◆ m_parser
◆ m_proxyLoaders
◆ m_renounce
◆ m_SCTDetEleCollKey
◆ m_selectionString
StringProperty ThinInDetClustersAlg::m_selectionString { this, "SelectionString", "InDetTrackParticles.pt>10*GeV", "Selection string for each TrackParticle container" } |
|
private |
Expressions for object thinning selections Default InDetTrackParticles (also accomplished through flag.Tracking.thinPixelClustersSelectionStrings defaults)
Definition at line 69 of file ThinInDetClustersAlg.h.
◆ m_statesPixSGKey
◆ m_statesSctSGKey
◆ m_statesTrtSGKey
◆ m_streamName
StringProperty ThinInDetClustersAlg::m_streamName { this, "StreamName", "", "Name of the stream being thinned" } |
|
private |
◆ m_thinPixelHitsOnTrack
BooleanProperty ThinInDetClustersAlg::m_thinPixelHitsOnTrack { this, "ThinPixelHitsOnTrack", false, ""} |
|
private |
◆ m_thinSCTHitsOnTrack
BooleanProperty ThinInDetClustersAlg::m_thinSCTHitsOnTrack { this, "ThinSCTHitsOnTrack", false, ""} |
|
private |
◆ m_thinTRTHitsOnTrack
BooleanProperty ThinInDetClustersAlg::m_thinTRTHitsOnTrack { this, "ThinTRTHitsOnTrack", false, ""} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_xAODProxyLoader
The documentation for this class was generated from the following files:
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesSctSGKey
unsigned int m_ntot_pix_measurements
StatusCode finalizeParser()
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StringProperty m_selectionString
Expressions for object thinning selections Default InDetTrackParticles (also accomplished through fla...
std::conditional< NUM_PARSER==1, std::unique_ptr< ExpressionParsing::ExpressionParser >, std::array< std::unique_ptr< ExpressionParsing::ExpressionParser >, NUM_PARSER > >::type m_parser
unsigned int m_npass_sct_states
BooleanProperty m_thinTRTHitsOnTrack
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Helper class to provide constant type-safe access to aux data.
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
unsigned int m_ntot_pix_states
Counters and keys for xAOD::TrackStateValidation and xAOD::TrackMeasurementValidation containers.
bool empty() const
Test if the key is blank.
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...
bool isValid() const
Test to see if the link can be dereferenced.
unsigned int m_ntot
Counters and keys for xAOD::TrackParticle container.
unsigned int m_ntot_trt_states
Handle for requesting thinning for a data object.
virtual void setOwner(IDataHandleHolder *o)=0
unsigned int m_npass_trt_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesPixSGKey
virtual StatusCode sysInitialize() override
Override sysInitialize.
unsigned int m_npass_pix_states
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
unsigned int m_ntot_sct_states
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsPixSGKey
BooleanProperty m_thinSCTHitsOnTrack
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, unsigned int &ntot_states, unsigned int &npass_states, unsigned int &npass_measurements) const
unsigned int m_ntot_sct_measurements
StringProperty m_streamName
Stream for object thinning selections.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
StatusCode initializeParser(const ExpressionParsing::SelectionArg< 1 > &selection_string)
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ElementLink implementation for ROOT usage.
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
SGKey for TrackParticleContainer.
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesTrtSGKey
unsigned int m_npass_sct_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsTrtSGKey
StatusCode initialize(bool used=true)
DataObjIDColl m_extendedExtraObjects
@ TrkState_NumberOfMeasurementTypes
#define ATH_MSG_WARNING(x)
unsigned int m_ntot_trt_measurements
index_type index() const
Get the index of the element inside of its container.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
unsigned int m_npass_trt_measurements
BooleanProperty m_thinPixelHitsOnTrack
Thinning logic.
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
For P->T converter of SCT_Clusters.
Class describing a TrackParticle.
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsSctSGKey
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
unsigned int m_npass_pix_measurements