ATLAS Offline Software
Loading...
Searching...
No Matches
TgcL0ValidationEvent.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef L0MUONS1TGCVALIDATION_TGCL0VALIDATIONEVENT_H
5#define L0MUONS1TGCVALIDATION_TGCL0VALIDATIONEVENT_H
6
8
9#include <cstdint>
10#include <vector>
11
12namespace L0Muon {
13
15static constexpr float TgcL0ValidationInvalidValue = 999.F;
16
18static constexpr std::uint8_t TgcL0ValidationNoUnmatchedReason = 255U;
19
21enum class TgcL0ValidationProjection : std::uint8_t {
22 Wire = 0U,
23 Strip = 1U
24};
25
27enum class TgcL0ValidationStation : std::uint8_t {
28 M1 = 0U,
29 M2 = 1U,
30 M3 = 2U,
31 Invalid = 255U
32};
33
40
43 std::uint32_t runNumber{0};
44 std::uint64_t eventNumber{0};
45 std::uint32_t lumiBlock{0};
46 std::uint32_t bcid{0};
47};
48
51 std::vector<int> pdgId;
52 std::vector<int> barcode;
53 std::vector<float> pt;
54 std::vector<float> eta;
55 std::vector<float> phi;
56 std::vector<float> charge;
57 std::vector<std::uint8_t> extrapolatedStationMask;
58 std::vector<float> m1Eta;
59 std::vector<float> m1Phi;
60 std::vector<float> m2Eta;
61 std::vector<float> m2Phi;
62 std::vector<float> m3Eta;
63 std::vector<float> m3Phi;
64 std::vector<std::uint8_t> matched;
65 std::vector<int> matchedCandidateIndex;
66 std::vector<float> matchMeanDeltaR;
67 std::vector<std::uint8_t> unmatchedReason;
68 std::vector<std::uint8_t> finalCandidateMatched;
70 std::vector<float> finalCandidateMatchDeltaR;
71 std::vector<std::uint8_t> finalCandidateUnmatchedReason;
72 std::vector<std::uint8_t> wireSegmentMatched;
73 std::vector<std::uint8_t> stripSegmentMatched;
74 std::vector<int> matchedWireSegmentIndex;
75 std::vector<int> matchedStripSegmentIndex;
76 std::vector<float> wireSegmentMatchResidual;
77 std::vector<float> stripSegmentMatchResidual;
78};
79
82 std::vector<std::uint16_t> subdetectorId;
83 std::vector<std::uint16_t> triggerSector;
84 std::vector<std::uint16_t> bcTag;
85 std::vector<std::uint8_t> projection;
86 std::vector<std::uint8_t> stationMask;
87 std::vector<std::uint8_t> summedQuality;
88 std::vector<std::uint8_t> nStations;
89 std::vector<float> eta;
90 std::vector<float> phi;
91 std::vector<float> residual;
92 std::vector<float> outputResidual;
93 std::vector<float> consistency;
94 std::vector<std::uint16_t> pivotChannel;
95 std::vector<int> truthIndex;
96 std::vector<float> truthMatchResidual;
97};
98
101 std::vector<std::uint16_t> subdetectorId;
102 std::vector<std::uint16_t> triggerSector;
103 std::vector<std::uint16_t> readoutSector;
104 std::vector<std::uint16_t> bcTag;
105 std::vector<std::uint8_t> stationMask;
106 std::vector<std::uint8_t> wireStationMask;
107 std::vector<std::uint8_t> stripStationMask;
108 std::vector<float> eta;
109 std::vector<float> phi;
110 std::vector<float> deltaTheta;
111 std::vector<float> deltaPhi;
112 std::vector<float> pt;
113 std::vector<std::uint8_t> threshold;
114 std::vector<std::int8_t> charge;
115 std::vector<std::uint8_t> goodMagneticField;
116 std::vector<int> truthIndex;
117};
118
121 std::vector<int> sourceCandidateIndex;
122 std::vector<std::uint8_t> referenceStation;
123 std::vector<std::uint16_t> subdetectorId;
124 std::vector<std::uint16_t> triggerSector;
125 std::vector<std::uint16_t> bcTag;
126 std::vector<std::uint8_t> tcId;
127 std::vector<std::uint16_t> rawEta;
128 std::vector<std::uint16_t> rawPhi;
129 std::vector<float> eta;
130 std::vector<float> phi;
131 std::vector<std::uint8_t> ptCode;
132 std::vector<float> pt;
133 std::vector<std::uint8_t> threshold;
134 std::vector<std::int8_t> charge;
135 std::vector<std::uint8_t> innerCoincidence;
136 std::vector<std::uint8_t> goodMagneticField;
137 std::vector<int> truthIndex;
138 std::vector<float> truthMatchDeltaR;
139};
140
143 std::vector<std::uint32_t> inputCandidateIndex;
144 std::vector<std::uint32_t> candWord;
145 std::vector<std::uint32_t> candExtraWord;
146 std::vector<std::uint16_t> boardId;
147 std::vector<std::uint16_t> fiberId;
148 std::vector<int> bcidOffset;
149 std::vector<std::uint16_t> veto;
150};
151
161
162} // namespace L0Muon
163
165
166#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
TgcL0ValidationUnmatchedReason
Reason why a selected truth muon has no matched candidate.
TgcL0ValidationStation
Station used as the reconstructed candidate position reference.
TgcL0ValidationProjection
Projection encoding used in the validation segment block.
static constexpr float TgcL0ValidationInvalidValue
Common sentinel for unavailable floating-point validation data.
static constexpr std::uint8_t TgcL0ValidationNoUnmatchedReason
Sentinel indicating that a matched truth object has no failure code.
Reconstruction quantities exposed to validation backends.
std::vector< std::uint8_t > wireStationMask
std::vector< std::uint16_t > subdetectorId
std::vector< std::uint16_t > triggerSector
std::vector< std::uint8_t > stripStationMask
std::vector< std::uint8_t > goodMagneticField
std::vector< std::uint16_t > readoutSector
Event identifiers used by the validation chain.
ROOT-independent validation data for one event.
TgcL0ValidationTruthBlock truth
TgcL0ValidationEventInfo event
TgcL0ValidationSegmentBlock segments
TgcL0ValidationCandidateBlock candidates
TgcL0ValidationSectorLogicBlock sectorLogic
TgcL0ValidationFinalCandidateBlock finalCandidates
Final post-selection TGC candidates and their truth matching.
TGC Sector Logic words and their placeholder metadata.
std::vector< std::uint32_t > inputCandidateIndex
Projection-segment quantities published by reconstruction.
std::vector< std::uint16_t > subdetectorId
std::vector< std::uint8_t > projection
std::vector< std::uint16_t > pivotChannel
std::vector< std::uint8_t > summedQuality
std::vector< std::uint8_t > nStations
std::vector< std::uint16_t > bcTag
std::vector< std::uint8_t > stationMask
std::vector< std::uint16_t > triggerSector
Truth and truth-to-reconstruction matching quantities.
std::vector< float > finalCandidateMatchDeltaR
std::vector< std::uint8_t > unmatchedReason
std::vector< std::uint8_t > extrapolatedStationMask
std::vector< float > wireSegmentMatchResidual
std::vector< std::uint8_t > finalCandidateUnmatchedReason
std::vector< std::uint8_t > finalCandidateMatched
std::vector< std::uint8_t > wireSegmentMatched
std::vector< std::uint8_t > matched
std::vector< float > stripSegmentMatchResidual
std::vector< std::uint8_t > stripSegmentMatched