 |
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 (const EventContext &ctx) const 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 bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
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, V, H > &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, std::atomic< unsigned int > &ntot_states, std::atomic< unsigned int > &npass_states, std::atomic< unsigned int > &npass_measurements, const EventContext &ctx) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
std::atomic< unsigned int > | m_ntot {} |
| Counters and keys for xAOD::TrackParticle container. More...
|
|
std::atomic< unsigned int > | m_npass {} |
|
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...
|
|
std::atomic< unsigned int > | m_ntot_pix_states {} |
| Counters and keys for xAOD::TrackStateValidation and xAOD::TrackMeasurementValidation containers. More...
|
|
std::atomic< unsigned int > | m_npass_pix_states {} |
|
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > | m_statesPixSGKey { this, "InDetTrackStatesPixKey", "PixelMSOSs", "" } |
|
std::atomic< unsigned int > | m_ntot_pix_measurements {} |
|
std::atomic< unsigned int > | m_npass_pix_measurements {} |
|
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > | m_measurementsPixSGKey { this, "InDetTrackMeasurementsPixKey", "PixelClusters", "" } |
|
std::atomic< unsigned int > | m_ntot_sct_states {} |
|
std::atomic< unsigned int > | m_npass_sct_states {} |
|
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > | m_statesSctSGKey { this, "InDetTrackStatesSctKey", "SCT_MSOSs", "" } |
|
std::atomic< unsigned int > | m_ntot_sct_measurements {} |
|
std::atomic< unsigned int > | m_npass_sct_measurements {} |
|
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > | m_measurementsSctSGKey { this, "InDetTrackMeasurementsSctKey", "SCT_Clusters", "" } |
|
std::atomic< unsigned int > | m_ntot_trt_states {} |
|
std::atomic< unsigned int > | m_npass_trt_states {} |
|
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > | m_statesTrtSGKey { this, "InDetTrackStatesTrtKey", "TRT_MSOSs", "" } |
|
std::atomic< unsigned int > | m_ntot_trt_measurements {} |
|
std::atomic< unsigned int > | m_npass_trt_measurements {} |
|
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 |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
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()
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ 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);
◆ 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.
◆ 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.
◆ 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 |
( |
const EventContext & |
ctx | ) |
const |
|
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,
187 *importedTrackParticles,
199 *importedTrackParticles,
209 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()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ filterTrackHits()
Definition at line 212 of file ThinInDetClustersAlg.cxx.
223 std::vector<bool> maskStates;
224 std::vector<bool> maskMeasurements;
227 maskStates, maskMeasurements);
229 auto count = [] (
const std::vector<bool>&
m)
231 npass_states +=
count (maskStates);
232 npass_measurements +=
count (maskMeasurements);
234 if (!statesKey.
empty()) {
237 unsigned int size_states = importedStates->size();
238 if (size_states == 0) {
242 ntot_states += size_states;
243 if (maskStates.size() > size_states) {
244 ATH_MSG_ERROR(
"States mask size mismatch: mask size (" << maskStates.size() <<
") > number of states (" << size_states <<
").");
245 return StatusCode::FAILURE;
247 maskStates.resize (size_states);
248 importedStates.keep (maskStates);
252 if (!measurementsKey.
empty()) {
254 ATH_CHECK( importedMeasurements.isValid() );
255 unsigned int size_measurements = importedMeasurements->size();
256 if (size_measurements == 0) {
260 if (maskMeasurements.size() > size_measurements) {
261 ATH_MSG_ERROR(
"Measurements mask size mismatch: mask size (" << maskMeasurements.size() <<
") > number of measurements (" << size_measurements <<
").");
262 return StatusCode::FAILURE;
264 maskMeasurements.resize (size_measurements);
265 importedMeasurements.keep (maskMeasurements);
269 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.
◆ isClonable()
◆ 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 272 of file ThinInDetClustersAlg.cxx.
277 using StatesOnTrack = std::vector<ElementLink<xAOD::TrackStateValidationContainer>>;
284 if (not inputMask[trkIndex])
continue;
288 if( ! trackStateAcc.isAvailable( *trkIt ) ) {
289 ATH_MSG_INFO(
"Cannot find TrackState link from xAOD::TrackParticle. Skipping track.");
292 const StatesOnTrack& measurementsOnTrack = trackStateAcc(*trkIt);
295 if (not trkState_el.isValid()) {
296 ATH_MSG_INFO(
"Cannot find a valid link to TrackStateValidation object for track index: " << trkIndex);
299 if ((*trkState_el)->detType() != detTypeToSelect) {
300 ATH_MSG_VERBOSE(
"Discarding TrackState as not of correct type " << detTypeToSelect);
303 if (trkState_el.index() >= outputStatesMask.size()) {
304 outputStatesMask.resize (trkState_el.index()+1);
306 outputStatesMask[trkState_el.index()] =
true;
310 if (not trkMeasurement_el.
isValid()) {
311 ATH_MSG_VERBOSE(
"Cannot find a valid link to TrackMeasurementValidation object from track state for track index: " << trkIndex
312 <<
", trackState index: " << trkState_el.index());
315 if (*trkMeasurement_el ==
nullptr) {
316 ATH_MSG_VERBOSE(
"Invalid pointer to TrackMeasurementValidation object from track state for track index: " << trkIndex
317 <<
", trackState index: " << trkState_el.index());
320 if (trkMeasurement_el.
index() >= outputMeasurementsMask.size()) {
321 outputMeasurementsMask.resize (trkMeasurement_el.
index()+1);
323 outputMeasurementsMask[trkMeasurement_el.
index()] =
true;
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ 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()
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
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_inDetSGKey
◆ m_measurementsPixSGKey
◆ m_measurementsSctSGKey
◆ m_measurementsTrtSGKey
◆ m_npass
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass {} |
|
mutableprivate |
◆ m_npass_pix_measurements
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass_pix_measurements {} |
|
mutableprivate |
◆ m_npass_pix_states
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass_pix_states {} |
|
mutableprivate |
◆ m_npass_sct_measurements
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass_sct_measurements {} |
|
mutableprivate |
◆ m_npass_sct_states
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass_sct_states {} |
|
mutableprivate |
◆ m_npass_trt_measurements
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass_trt_measurements {} |
|
mutableprivate |
◆ m_npass_trt_states
std::atomic<unsigned int> ThinInDetClustersAlg::m_npass_trt_states {} |
|
mutableprivate |
◆ m_ntot
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot {} |
|
mutableprivate |
◆ m_ntot_pix_measurements
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot_pix_measurements {} |
|
mutableprivate |
◆ m_ntot_pix_states
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot_pix_states {} |
|
mutableprivate |
◆ m_ntot_sct_measurements
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot_sct_measurements {} |
|
mutableprivate |
◆ m_ntot_sct_states
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot_sct_states {} |
|
mutableprivate |
◆ m_ntot_trt_measurements
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot_trt_measurements {} |
|
mutableprivate |
◆ m_ntot_trt_states
std::atomic<unsigned int> ThinInDetClustersAlg::m_ntot_trt_states {} |
|
mutableprivate |
◆ 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:
std::atomic< unsigned int > m_npass_trt_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesSctSGKey
StatusCode finalizeParser()
std::atomic< unsigned int > m_npass_sct_states
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
std::atomic< unsigned int > m_npass
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
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.
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.
Handle for requesting thinning for a data object.
virtual void setOwner(IDataHandleHolder *o)=0
std::atomic< unsigned int > m_ntot
Counters and keys for xAOD::TrackParticle container.
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesPixSGKey
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::atomic< unsigned int > m_npass_sct_measurements
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsPixSGKey
BooleanProperty m_thinSCTHitsOnTrack
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
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
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsTrtSGKey
std::atomic< unsigned int > m_ntot_pix_states
Counters and keys for xAOD::TrackStateValidation and xAOD::TrackMeasurementValidation containers.
StatusCode initialize(bool used=true)
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
#define ATH_MSG_WARNING(x)
std::atomic< unsigned int > m_ntot_pix_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.
virtual StatusCode sysInitialize() override
Override sysInitialize.
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.
Class describing a TrackParticle.
std::atomic< unsigned int > m_ntot_sct_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsSctSGKey
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
std::atomic< unsigned int > m_npass_pix_measurements
std::atomic< unsigned int > m_ntot_sct_states