ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4/***************************************************************************
5Summary.h - description
6-------------------
7begin : Tue Feb 17 2004
8email : edward.moyse@cern.ch
9***************************************************************************/
10
11#ifndef TRKTRACKSUMMARY_H
12#define TRKTRACKSUMMARY_H
13
16#include <atomic>
17#include <bitset>
18#include <iostream>
19#include <memory>
20#include <vector>
21
22class MsgStream;
25
26namespace InDet {
28}
29
30namespace Muon {
32}
33
34namespace Trk {
35
36// forward declarations
37class Track;
39
45{
46 // --- Inner Detector
48
100
101 // --- Muon Spectrometer
125
126 // New Small Wheel
145 // --- all
151
152 // reserved: added to keep synchronisation with xAOD::TrackSummary in
153 // anticipation of the two being merged
154 // in the past used to store pixel and TRT PID information:
163
164 // in the past used to store expected inner layer hits
168
169 // in the past used to store shared hits
180
181 // in the past used to store pixel and SCT outliers
187
188 // -- numbers...
190};
191
192// summary types that are stored as float values or filled in TrackParticleCreatorTool
206
207// Troels.Petersen@cern.ch:
224
225static const std::vector<float> eProbabilityDefault(numberOfeProbabilityTypes,
226 0.5);
227
266
286class TrackSummary final : public Trk::ObjectCounter<Trk::TrackSummary>
287{
288public:
292
297 static const int SummaryTypeNotSet;
298
300 TrackSummary();
301
309 TrackSummary(const std::vector<int>& information,
310 std::bitset<numberOfDetectorTypes>& hitPattern);
311
313 TrackSummary(const TrackSummary& rhs);
317 TrackSummary(TrackSummary&& rhs) noexcept = default;
319 TrackSummary& operator=(TrackSummary&&) noexcept = default;
320
322
327 TrackSummary& operator+=(const TrackSummary& ts);
328
336
337 unsigned long getHitPattern() const;
338
344
347
351
357 bool update(Trk::SummaryType type, int new_value);
358
359private: // data members
360 friend class ::TrackSummaryCnv_p1;
361 friend class ::TrackSummaryCnv_p2;
362
365
367 unsigned long m_idHitPattern;
368
371};
372
374MsgStream&
375operator<<(MsgStream& out, const TrackSummary& trackSum);
376
378std::ostream&
379operator<<(std::ostream& out, const TrackSummary& trackSum);
380}
381#include "TrkTrackSummary/TrackSummary.icc"
382
383#endif
384
Detailed track summary for the muon system Give access to hit counts per chamber.
Helper to enable counting number of instantiations in debug builds.
TrackSummary(TrackSummary &&rhs) noexcept=default
Move ctor.
TrackSummary & operator=(const TrackSummary &)
assignment operator
static const int SummaryTypeNotSet
Value set in the cxx file to -1.
bool isHit(const DetectorType &type) const
returns true if the detector type 'type' is hit.
unsigned long getHitPattern() const
std::unique_ptr< MuonTrackSummary > m_muonTrackSummary
pointer to the MuonTrackSummary
const MuonTrackSummary * muonTrackSummary() const
returns a pointer to the MuonTrackSummary if available
std::vector< int > m_information
vector containing the persistent summary information.
TrackSummary & operator=(TrackSummary &&) noexcept=default
Move assignment operator.
TrackSummary()
needed by POOL
int get(const SummaryType &type) const
returns the summary information for the passed SummaryType.
bool update(Trk::SummaryType type, int new_value)
Update unset summary information.
STL class.
STL class.
int ts
Definition globals.cxx:24
Primary Vertex Finder.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
static const std::vector< unsigned int > unusedSummaryTypes
@ eProbabilityBrem
Electron probability from Brem fitting (DNA).
@ eProbabilityComb
Electron probability from combining the below probabilities.
@ eProbabilityNumberOfTRTHitsUsedFordEdx
Number of TRT hits used for dEdx measurement.
@ eProbabilityToT
Electron probability from Time-Over-Threshold (ToT) information.
@ eProbabilityHT
Electron probability from High Threshold (HT) information.
static const std::vector< float > eProbabilityDefault(numberOfeProbabilityTypes, 0.5)
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
@ pixelBarrel0
there are three or four pixel barrel layers (R1/R2)
@ pixelEndCap0
three pixel discs (on each side)
SummaryType
enumerates the different types of information stored in Summary.
@ numberOfTgcPhiHoles
number of TGC Phi measurements missing from the track
@ numberOfTRTHoles
number of TRT hits which pass the high threshold (only xenon counted) total number of TRT hits which ...
@ numberOfRpcEtaHoles
number of RPC Eta measurements missing from the track
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector
@ numberOfGangedPixels
number of Ganged Pixels flagged as fakes
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
@ numberOfTRTHighThresholdOutliers
number of dead TRT straws crossed
@ numberOfMdtHoles
number of MDT measurements missing from the track
@ numberOfMmHits
number of TGC Eta measurements missing from the track
@ numberOfStgcEtaHits
number of TGC Eta measurements missing from the track
@ numberOfStgcPhiHoles
number of TGC Phi measurements missing from the track
@ numberOfStgcEtaHoles
number of TGC Eta measurements missing from the track
@ numberOfNextToInnermostPixelLayerHits
these are the pixel hits, including the b-layer
@ numberOfMmHoles
number of TGC Eta measurements missing from the track
@ numberOfTRTHitsUsedFordEdx
number of TRT high threshold outliers (only xenon counted)
@ numberOfInnermostPixelLayerHits
these are the hits in the 1st pixel layer
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
@ numberOfSCTHoles
number of Holes in both sides of a SCT module
@ numberOfGangedFlaggedFakes
number of dead pixel sensors crossed
@ numberOfStgcPhiHits
number of TGC Phi measurements missing from the track
@ numberOfPixelHoles
number of pixels which have a ganged ambiguity.
@ numberOfTRTTubeHits
number of TRT hits on track in straws with xenon
@ numberOfOutliersOnTrack
100 times the standard deviation of the chi2 from the surfaces
@ numberOfGoodMdtHits
number of non-deweighted MDT hits.
@ numberOfTgcEtaHoles
number of TGC Eta measurements missing from the track
@ numberOfTRTHighThresholdHitsTotal
number of TRT hits used for dE/dx computation
@ numberOfCscUnspoiltEtaHits
number of unspoilt CSC eta measurements (all CSC phi measurements are by definition spoilt).
@ numberOfPixelDeadSensors
number of pixel hits with broad errors (width/sqrt(12))
@ numberOfCscPhiHoles
number of CSC Phi measurements missing from the track
@ numberOfRpcPhiHoles
number of RPC Phi measurements missing from the track
@ numberOfCscEtaHoles
number of CSC Eta measurements missing from the track
STL namespace.
#define private