 |
ATLAS Offline Software
|
Go to the documentation of this file.
74 auto monitor_expectNextToInnermost =
Monitored::Collection(
"expectNextToInnermostHit", *track_particles,
78 fill(
m_monGroupName.value(),monitor_pt,monitor_eta, monitor_pixelHits, monitor_innermostHits, monitor_nextToInnermostHits,
79 monitor_expectInnermost, monitor_expectNextToInnermost);
80 return StatusCode::SUCCESS;
91 std::optional<ActsTrk::TrackContainer::ConstTrackProxy> >::
value);
92 std::optional<ActsTrk::TrackContainer::ConstTrackProxy> optional_track = *link_to_track;
94 if ( not optional_track.has_value() ) {
96 return StatusCode::SUCCESS;
99 ActsTrk::TrackContainer::ConstTrackProxy
track = optional_track.value();
100 std::array<uint8_t, Acts::NumTrackStateFlags+1>
counts{};
103 lastMeasurementIndex =
track.tipIndex();
105 track.container().trackStateContainer().visitBackwards(lastMeasurementIndex,
106 [&
counts] (
const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state) ->
void
108 Acts::ConstTrackStateType
flag = state.typeFlags();
109 ++
counts[Acts::NumTrackStateFlags];
111 for (
unsigned int flag_i=0; flag_i<Acts::NumTrackStateFlags; ++flag_i) {
112 if (
flag.test(flag_i)) {
113 if (flag_i == Acts::TrackStateFlag::HoleFlag) {
114 if (!state.hasReferenceSurface() || !state.referenceSurface().associatedDetectorElement()) continue;
129 fill(m_monGroupName.value(),
130 monitor_states, monitor_measurement, monitor_parameter, monitor_outlier, monitor_hole,
131 monitor_material, monitor_sharedHit);
132 return StatusCode::SUCCESS;
IndexingPolicy::ElementConstReference ElementConstReference
const_pointer_type cptr()
Dereference the pointer.
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ expectInnermostPixelLayerHit
Do we expect a 0th-layer barrel hit for this track?
Helper class to provide constant type-safe access to aux data.
#define ATH_MSG_VERBOSE(x)
bool isValid() const
Test to see if the link can be dereferenced.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
Base class for Athena Monitoring Algorithms.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
SummaryType
Enumerates the different types of information stored in Summary.
@ expectNextToInnermostPixelLayerHit
Do we expect a 1st-layer barrel hit for this track?
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize() override
initialize
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_tracksKey
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
size_t index() const
Return the index of this element within its container.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ElementLink implementation for ROOT usage.
@ numberOfNextToInnermostPixelLayerHits
these are the hits in the 1st pixel barrel layer
Gaudi::Property< bool > m_monitorTrackStateCounts
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
virtual StatusCode initialize() override
initialize
#define ATH_MSG_WARNING(x)
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Class describing a TrackParticle.
TrackParticleAnalysisAlg(const std::string &name, ISvcLocator *pSvcLocator)
Declare a monitored scalar variable.
StatusCode monitorTrackStateCounts(const xAOD::TrackParticle &track_particle) const
Gaudi::Property< std::string > m_monGroupName
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer