74{
75 const Identifier&
id = rot->
identify();
78
80 and (not isOutlier or ispatterntrack)) {
81
82
83
89
90
91 const PixelClusterOnTrack* pix = nullptr;
93 pix = static_cast<const PixelClusterOnTrack*>(rot);
94 }
95 if (not pix) {
96 ATH_MSG_ERROR(
"Could not cast pixel RoT to PixelClusterOnTrack!");
97 } else {
98 if (pix->isBroadCluster())
100 if (pix->hasClusterAmbiguity()) {
102 if (pix->isFake())
104 }
105
108 if (not hitPattern.test(offset))
110 hitPattern.set(offset);
111 } else {
114 if (not hitPattern.test(offset))
116 hitPattern.set(offset);
117 }
118 }
119
121 and (not isOutlier or ispatterntrack)) {
122
123
124
126
127 const InDet::SCT_ClusterOnTrack* sctclus = nullptr;
129 sctclus = static_cast<const InDet::SCT_ClusterOnTrack*>(rot);
130 }
131 if (not sctclus) {
132 ATH_MSG_ERROR(
"Could not cast SCT RoT to SCT_ClusterOnTrack!");
133 } else {
134 if (sctclus->isBroadCluster())
136 }
137
138 if ((
m_sctId->is_barrel(
id))) {
140 hitPattern.set(offset +
m_sctId->layer_disk(
id));
141 } else {
143 hitPattern.set(offset +
m_sctId->layer_disk(
id));
144 }
145
147 bool isArgonStraw = false;
148 bool isKryptonStraw = false;
154 isArgonStraw = true;
155 }
158 isKryptonStraw = true;
159 }
160 }
161 if (not isArgonStraw and not isKryptonStraw) {
163 }
164
165 if (isOutlier and not ispatterntrack) {
166
167
169
170 const InDet::TRT_DriftCircleOnTrack* trtDriftCircle = nullptr;
172 trtDriftCircle = static_cast<const InDet::TRT_DriftCircleOnTrack*>(rot);
173 }
174 if (not trtDriftCircle) {
175 ATH_MSG_ERROR(
"Could not cast TRT RoT to TRT_DriftCircleOnTracknot ");
176 } else {
177 if (trtDriftCircle->highLevel() and not isArgonStraw and
178 not isKryptonStraw)
180 }
181 } else {
184 if (error2 > 1)
186
187 const InDet::TRT_DriftCircleOnTrack* trtDriftCircle = nullptr;
189 trtDriftCircle = static_cast<const InDet::TRT_DriftCircleOnTrack*>(rot);
190 }
191 if (not trtDriftCircle) {
192 ATH_MSG_ERROR(
"Could not cast TRT RoT to TRT_DriftCircleOnTracknot ");
193 } else {
194 if (trtDriftCircle->highLevel()) {
195 if (not isArgonStraw and not isKryptonStraw)
199 }
200 }
201 }
202
203 }
204
205}
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
Identifier identify() const
return the identifier -extends MeasurementBase
virtual bool rioType(RIO_OnTrackType::Type type) const =0
Method checking the Rio On Track type.
@ Unknown
Track fitter not defined.
bool type(const TrackStateOnSurfaceType type) const
Use this method to find out if the TSoS is of a certain type: i.e.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
@ sctBarrel0
four sct barrel layers
@ sctEndCap0
and 9 sct discs (on each side)
@ pixelEndCap0
three pixel discs (on each side)
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector
@ numberOfSCTHits
number of SCT holes
@ numberOfGangedPixels
number of Ganged Pixels flagged as fakes
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfTRTHighThresholdOutliers
number of dead TRT straws crossed
@ numberOfTRTOutliers
number of TRT holes
@ numberOfNextToInnermostPixelLayerHits
these are the pixel hits, including the b-layer
@ numberOfTRTHits
number of TRT outliers
@ numberOfInnermostPixelLayerHits
these are the hits in the 1st pixel layer
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
@ numberOfGangedFlaggedFakes
number of dead pixel sensors crossed
@ numberOfTRTTubeHits
number of TRT hits on track in straws with xenon
@ numberOfPixelSpoiltHits
number of DBM Hits
@ numberOfTRTHighThresholdHitsTotal
number of TRT hits used for dE/dx computation