Loading [MathJax]/jax/output/SVG/config.js
|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSTRK_HITSUMMARYDATAUTILS_H
6 #define ACTSTRK_HITSUMMARYDATAUTILS_H
18 class SiDetectorElementCollection;
24 template <
typename T_EnumClass >
29 namespace HitCategory {
69 constexpr
static unsigned short makeKey(
unsigned short region,
unsigned short layer,
int eta_mod) {
119 if (!detector_elements || id_hash>=detector_elements->size() || !(*detector_elements)[id_hash]) {
136 else if (detEl->
isSCT()) {
145 for (
auto &[stat_key, stat_hits, stat_outlier_hits] :
m_stat) {
146 if (stat_key ==
key) {
152 m_stat.emplace_back( std::make_tuple(
key,
162 for (
const auto &[stat_key, stat_hits, stat_outlier_hits] :
m_stat) {
164 m_hits.at(region) += stat_hits;
168 for (
unsigned int region_i=0; region_i<
unknown+1; ++region_i) {
207 template <
unsigned short HIT_
SELECTION>
211 for (
auto &[stat_key, stat_hits, stat_outlier_hits] :
m_stat) {
217 total += stat_outlier_hits;
225 std::vector< std::tuple<unsigned short, uint8_t, uint8_t> >
m_stat;
229 static constexpr std::array<uint8_t, unknown+1>
s_type
252 double inv_n =
m_n>0 ? 1/
m_n : 0 ;
257 double inv_n =
m_n>0 ? 1./
m_n : 0 ;
273 const typename ActsTrk::TrackContainer::ConstTrackProxy &
track,
277 &measurement_to_summary_type,
278 SumOfValues &chi2_stat_out,
279 HitSummaryData &hit_info_out,
280 std::vector<ActsTrk::TrackStateBackend::ConstTrackStateProxy::IndexType > ¶m_state_idx_out,
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
void computeSummaries()
Compute the varius summaries.
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Helper class to gather statistics and compute the biased variance.
void gatherTrackSummaryData(const ActsTrk::TrackContainer &tracksContainer, const typename ActsTrk::TrackContainer::ConstTrackProxy &track, const std::array< const InDetDD::SiDetectorElementCollection *, to_underlying(xAOD::UncalibMeasType::nTypes)> &siDetEleColl, const std::array< unsigned short, to_underlying(xAOD::UncalibMeasType::nTypes)> &measurement_to_summary_type, SumOfValues &chi2_stat_out, HitSummaryData &hit_info_out, std::vector< ActsTrk::TrackStateBackend::ConstTrackStateProxy::IndexType > ¶m_state_idx_out, std::array< std::array< uint8_t, to_underlying(HitCategory::N)>, to_underlying(xAOD::UncalibMeasType::nTypes)> &special_hit_counts_out)
Helper to gather track summary information from the track states of the specified track.
uint8_t contributingHits(DetectorRegion region) const
return the number of hits in a certain detector region.
constexpr std::underlying_type< T_EnumClass >::type to_underlying(T_EnumClass an_enum)
Helper to convert class enum into an integer.
constexpr static unsigned short LAYER_REGION_MASK
constexpr static unsigned short SIGNED_ETA_MOD_MASK
@ u
Enums for curvilinear frames.
constexpr static unsigned short makeKey(unsigned short region, unsigned short layer, int eta_mod)
Compute a counter key for the given region, layer and module eta module index.
const AtlasDetectorID * getIdHelper() const
Returns the id helper (inline)
static constexpr std::array< uint8_t, unknown+1 > s_type
constexpr static unsigned short REGION_MASK
std::array< uint8_t, Total+1 > m_outlierHits
constexpr static unsigned short SIGNED_ETA_MOD_BITS
Helper class to gather hit summary information for e.g.
uint8_t contributingOutlierHits(DetectorRegion region) const
return the number of outliers in a certain detector region.
bool addHit(const InDetDD::SiDetectorElementCollection *detector_elements, unsigned int id_hash, EHitSelection hit_selection)
update summaries to take the given hit into account.
std::array< uint8_t, Total+1 > m_hits
uint8_t contributingLayers(DetectorRegion region) const
return the number of layers contributing to the hit collection in the given detector region.
virtual DetectorType type() const
Type of element.
constexpr static uint8_t layerFromKey(unsigned short key)
extract the layer index from the given key.
void fill(H5::Group &out_file, size_t iterations)
uint8_t sum(DetectorRegion region, uint8_t layer) const
return the total number of hits, outliers or hits+outliers in the givrn detector region and layer.
int layer_disk(const Identifier &id) const
int eta_module(const Identifier &id) const
int layer_disk(const Identifier &id) const
constexpr static unsigned short LAYER_MASK
constexpr static unsigned short REGION_BITS
double biasedVariance() const
int eta_module(const Identifier &id) const
std::array< uint8_t, Total+1 > m_layers
constexpr static DetectorRegion regionFromKey(unsigned short key)
extract the region index from the given key.
constexpr static unsigned short LAYER_BITS
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
DetectorRegion
Regions for which hit counts are computed.
std::vector< std::tuple< unsigned short, uint8_t, uint8_t > > m_stat
virtual Identifier identify() const override final
identifier of this detector element (inline)
void reset()
reset all summary counters to zero.
std::array< double, 2 > meanAndBiasedVariance() const