44 ,m_sumTool(
"TRT_StrawStatusSummaryTool", this)
45 ,m_TRTStrawNeighbourSvc(
"TRT_StrawNeighbourSvc",
name)
46 ,m_TRTCalDbTool(
"TRT_CalDbTool", this)
47 ,m_drifttool(
"TRT_DriftFunctionTool", this)
48 ,m_pTRTHelper(nullptr)
54 ,m_trackSelTool(
"InDet::InDetTrackSelectionTool/TrackSelectionTool", this)
144 for (
int ibe = 0; ibe < 2; ibe++) {
146 IdentifierHash idHash =
index;
158 idSide = idBarrelEndcap ? 1 : -1;
160 if (
isBarrel && (idBarrelEndcap == -1)) {
164 }
else if (ibe == 1) {
165 idSide = idBarrelEndcap ? 1 : 0;
167 if (!
isBarrel && ((idBarrelEndcap == -2) || (idBarrelEndcap == 2))) {
173 if (sectorflag == 1) {
174 if (!element)
continue;
176 for (
unsigned int istraw = 0; istraw < element->
nStraws(); istraw++) {
177 std::vector<Identifier> neighbourIDs;
184 if (idLayerWheel == 1) i_chip += 21;
186 if (idLayerWheel == 2) i_chip += 54;
188 int tempStrawNumber =
strawNumber(istraw, idStrawLayer, idLayerWheel);
190 if (tempStrawNumber < 0 || tempStrawNumber > (
s_Straw_max[ibe] - 1)) {
191 ATH_MSG_WARNING(
"Found tempStrawNumber = " << tempStrawNumber <<
" out of range.");
193 m_mat_chip_B.at(idPhiModule).at(tempStrawNumber) = i_chip;
194 m_mat_chip_B.at(idPhiModule + 32).at(tempStrawNumber) = i_chip;
196 }
else if (ibe == 1) {
198 int tempStrawNumber =
strawNumberEndCap(istraw, idStrawLayer, idLayerWheel, idPhiModule, idSide);
200 if (tempStrawNumber < 0 || tempStrawNumber > (
s_Straw_max[ibe] - 1)) {
201 ATH_MSG_WARNING(
"Found tempStrawNumber = " << tempStrawNumber <<
" out of range.");
203 m_mat_chip_E.at(idPhiModule).at(tempStrawNumber) = i_chip;
204 m_mat_chip_E.at(idPhiModule + 32).at(tempStrawNumber) = i_chip;
220 return StatusCode::SUCCESS;
227 switch (LayerNumber) {
245 int addToStrawNumber = 0;
246 int addToStrawNumberNext = 0;
248 const int numberOfStraws[75] = {
275 addToStrawNumber += numberOfStraws[
i - 1];
276 addToStrawNumberNext = addToStrawNumber + numberOfStraws[
i];
281 if (strawNumber < 0 || strawNumber >
s_Straw_max[0] - 1) {
296 static const int TripletOrientation[2][32] = {
298 1, 1, 1, 1, 1, 1, 1, 1,
299 0, 0, 0, 0, 0, 0, 0, 0,
300 1, 1, 1, 1, 1, 1, 1, 1,
301 0, 0, 0, 0, 0, 0, 0, 0
304 1, 1, 1, 1, 1, 1, 1, 1,
305 0, 0, 0, 0, 0, 0, 0, 0,
306 1, 1, 1, 1, 1, 1, 1, 1,
307 0, 0, 0, 0, 0, 0, 0, 0
312 if (
side == 2) phi1 = phi_stack,
side = 1;
313 else if (
side == -2) phi1 = 31 - phi_stack,
side = 0;
316 if (TripletOrientation[
side][phi1]) {
342 int strawNumberNew = 0;
344 if (LayerNumber < 6 && strawLayerNumber > 7) {
345 strawNumberNew = strawNumberNew + (384 * LayerNumber);
348 strawNumberNew = strawNumberNew + (384 * LayerNumber);
351 strawNumberNew = strawNumberNew + 2304 + 192 * (LayerNumber - 6);
354 strawNumberNew = strawNumberNew + 2304 + 192 * (LayerNumber - 6);
360 if (strawNumber < 0 || strawNumber >
s_Straw_max[1] - 1) {
371 float degreeValue = radValue /
M_PI * 180;
373 if (degreeValue < 0) degreeValue += 360;
390 for (; RDO_CollectionBegin != RDO_CollectionEnd; ++RDO_CollectionBegin) {
393 if (!TRT_Collection)
continue;
397 for (; p_rdo != TRT_Collection->
end(); ++p_rdo) {
400 if (!p_lolum)
continue;
510 const float timeCor = comTimeObject ? comTimeObject->
getTime() : 0;
512 auto p_trk = trackCollection.
begin();
518 int ntrackstack[2][64];
519 int nTotalTracks = 0;
520 int nTracksB[2] = {0, 0};
521 int nTracksEC[2] = {0, 0};
522 int nTracksEC_B[2] = {0, 0};
523 int nTrksperLB_B = 0;
524 int nTrksperLB_E[2] = {0, 0};
526 for (
int ibe = 0; ibe < 2; ibe++) {
527 std::fill(ntrackstack[ibe], ntrackstack[ibe] + 64, 0);
530 for (; p_trk != trackCollection.
end(); ++p_trk) {
539 AllTrkPar = ((*p_trk)->track())->trackParameters();
545 for (p_trkpariter = AllTrkPar->
begin(); p_trkpariter != AllTrkPar->
end(); ++p_trkpariter) {
547 if ((mPer =
dynamic_cast<const Trk::Perigee *
>(*p_trkpariter)))
break;
559 const Trk::TrackStates *trackStates = ((*p_trk)->track())->trackStateOnSurfaces();
561 if (trackStates ==
nullptr)
continue;
569 int n_trt_hits =
unsigned(tempHitsVariable);
571 bool is_pT_over_20GeV =
false;
574 is_pT_over_20GeV =
true;
576 is_pT_over_20GeV =
false;
579 const bool cnst_is_pT_over_20GeV = is_pT_over_20GeV;
584 if (!passed_track_preselection)
continue;
587 int checkB[2] = {0, 0};
588 int checkEC[2] = {0, 0};
589 int checkEC_B[2] = {0, 0};
591 int nTRTHits_side[2][2];
592 int nTRTHitsW_perwheel[2][18];
593 int hitontrack[2] = {0, 0};
594 int hitontrack_E_side[2] = {0, 0};
596 for (
int ibe = 0; ibe < 2; ibe++) {
597 for (
int iside = 0; iside < 2; iside++) {
598 nTRTHits_side[ibe][iside] = -1;
599 nTRTHitsW[ibe][iside] = 0;
601 std::fill(nTRTHitsW_perwheel[ibe], nTRTHitsW_perwheel[ibe] + 18, 0);
605 int layer_or_wheel = 0;
609 int nearest_straw_layer[2] = {100, 100};
610 int nearest_straw[2] = {0, 0};
611 int testLayer[2] = {100, 100};
612 float phi2D[2] = {-100, -100};
614 for (TSOSItBeginTemp = TSOSItBegin0; TSOSItBeginTemp != TSOSItEnd; ++TSOSItBeginTemp) {
615 if ((*TSOSItBeginTemp) ==
nullptr)
continue;
620 if (!trtCircle)
continue;
623 if (!aTrackParam)
continue;
626 int ibe = std::abs(barrel_ec) - 1;
632 if (layer_or_wheel >= testLayer[ibe])
continue;
633 testLayer[ibe] = layer_or_wheel;
635 if (straw_layer < nearest_straw_layer[ibe]) {
636 nearest_straw_layer[ibe] = straw_layer;
637 nearest_straw[ibe] =
straw;
641 circleElement =
nullptr;
645 if (phi2D[0] == -999) {
646 ATH_MSG_DEBUG(
"Track did not go through inner layer of Barrel.");
649 testLayer[0] <<
" m_straw_layer: " <<
650 nearest_straw_layer[0] <<
" (in the Barrel).");
653 if (phi2D[1] == -999) {
654 ATH_MSG_DEBUG(
"Track did not go through any inner layer of EndCap A or C.");
657 testLayer[1] <<
" m_straw_layer: " <<
658 nearest_straw_layer[1] <<
" (in the EndCaps).");
661 bool trackfound[2][64];
663 for (
int i = 0;
i < 2;
i++) {
664 std::fill(trackfound[
i], trackfound[
i] + 64,
false);
667 for (TSOSItBegin = TSOSItBegin0; TSOSItBegin != TSOSItEnd; ++TSOSItBegin) {
669 if ((*TSOSItBegin) ==
nullptr)
continue;
675 if (!trtCircle)
continue;
679 if (!aTrackParam)
continue;
687 int ibe = std::abs(barrel_ec) - 1;
688 int iside = barrel_ec > 0 ? 0 : 1;
689 int thisStrawNumber[2] = {-1, -1};
690 int chip[2] = {0, 0};
695 if (thisStrawNumber[ibe] >= 0 && thisStrawNumber[ibe] <
s_Straw_max[ibe]) {
696 chip[ibe] =
m_mat_chip_B.at(phi_module).at(thisStrawNumber[ibe]);
698 }
else if (ibe == 1) {
701 if (thisStrawNumber[ibe] >= 0 && thisStrawNumber[ibe] <
s_Straw_max[ibe]) {
702 chip[ibe] =
m_mat_chip_E.at(phi_module).at(thisStrawNumber[ibe]);
705 thisStrawNumber[ibe] = -1;
708 if (thisStrawNumber[ibe] < 0 || thisStrawNumber[ibe] >=
s_Straw_max[ibe])
continue;
710 if (checkB[iside] == 0 && ibe == 0) {
715 if (checkEC[iside] == 0 && ibe == 1) {
720 if (checkEC_B[iside] == 0 && checkB[iside] == 1 && ibe == 1 ) {
721 nTracksEC_B[iside]++;
722 checkEC_B[iside] = 1;
728 const bool isArgonStraw = (
Straw_Gastype(
m_sumTool->getStatusHT(surfaceID, Gaudi::Hive::currentContext()) ) == GasType::Ar );
732 int iphi_module = -9999;
734 if (iside == 0) iphi_module = phi_module;
735 else if (iside == 1) iphi_module = phi_module + 32;
737 if (iphi_module >= 0 && iphi_module < 64) trackfound[ibe][iphi_module] =
true;
748 }
else if (ibe == 1) {
750 hitontrack_E_side[iside]++;
756 if (RawDriftCircle) {
757 nTRTHits_side[ibe][iside]++;
762 if (driftTimeValid) {
763 const float validRawDriftTime = RawDriftCircle->
rawDriftTime();
766 ValidRawDriftTimeonTrkS_x = thisStrawNumber[ibe];
767 ValidRawDriftTimeonTrkS_y = validRawDriftTime;
772 ValidRawDriftTimeonTrkC_x = chip[ibe] - 1;
773 ValidRawDriftTimeonTrkC_y = validRawDriftTime;
781 DriftTimeonTrkDist_B_Ar = RawDriftCircle->
rawDriftTime();
788 }
else if (ibe == 1) {
790 DriftTimeonTrkDist_E_Ar = RawDriftCircle->
rawDriftTime();
800 float locR_err = 0.0;
801 const AmgSymMatrix(5)* b_err = aTrackParam->covariance();
805 ATH_MSG_WARNING(
"Some diagonal element(s) of the covariance matrix is (are) infinite or smaller than / too close to zero or above the covariance cutoff");
811 ATH_MSG_ERROR(
"Track parameters have no covariance attached.");
822 if ((loc *
locR) < 0) loc = -loc;
828 double pull_b = -999.;
829 const double diff_loc_err = (loc_err * loc_err * loc_err * loc_err) - (locR_err * locR_err * locR_err * locR_err);
830 if ( diff_loc_err > 0 ) {
831 pull_b = (loc -
locR) / sqrt(diff_loc_err);
834 else pull_b_fill =
false;
836 const double trkdrifttime = (!rtr) ? 0 : rtr->
drifttime(std::abs(
locR));
837 const double timeresidual = RawDriftCircle->
rawDriftTime() - thist0 - trkdrifttime;
842 Pull_Biased_Barrel = pull_b;
848 Residual_B_Ar = loc -
locR;
850 Residual_noTubeHits_B_Ar = loc -
locR;
851 if (!isTubeHit)
fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), Residual_noTubeHits_B_Ar);
853 if (cnst_is_pT_over_20GeV) {
854 Residual_B_Ar_20GeV = loc -
locR;
856 Residual_noTubeHits_B_Ar_20GeV = loc -
locR;
857 if (!isTubeHit)
fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), Residual_noTubeHits_B_Ar_20GeV);
859 TimeResidual_B_Ar = timeresidual;
861 TimeResidual_noTubeHits_B_Ar = timeresidual;
862 if (!isTubeHit)
fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), TimeResidual_noTubeHits_B_Ar);
864 Residual_B = loc -
locR;
866 Residual_noTubeHits_B = loc -
locR;
867 if (!isTubeHit)
fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), Residual_noTubeHits_B);
868 TimeResidual_B = timeresidual;
870 TimeResidual_noTubeHits_B = timeresidual;
871 if (!isTubeHit)
fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), TimeResidual_noTubeHits_B);
873 if (cnst_is_pT_over_20GeV) {
874 Residual_B_20GeV = loc -
locR;
876 Residual_noTubeHits_B_20GeV = loc -
locR;
877 if (!isTubeHit)
fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), Residual_noTubeHits_B_20GeV);
880 }
else if (ibe == 1) {
883 Pull_Biased_EndCap = pull_b;
889 Residual_E_Ar = loc -
locR;
891 Residual_noTubeHits_E_Ar = loc -
locR;
893 TimeResidual_E_Ar = timeresidual;
895 TimeResidual_noTubeHits_E_Ar = timeresidual;
898 if (cnst_is_pT_over_20GeV) {
899 Residual_E_Ar_20GeV = loc -
locR;
901 Residual_noTubeHits_E_Ar_20GeV = loc -
locR;
905 Residual_E = loc -
locR;
907 Residual_noTubeHits_E = loc -
locR;
909 TimeResidual_E = timeresidual;
911 TimeResidual_noTubeHits_E = timeresidual;
914 if (cnst_is_pT_over_20GeV) {
915 Residual_E_20GeV = loc -
locR;
917 Residual_noTubeHits_E_20GeV = loc -
locR;
927 WireToTrkPosition_B_Ar =
locR;
930 WireToTrkPosition_B =
locR;
933 }
else if (ibe == 1) {
935 WireToTrkPosition_E_Ar =
locR;
938 WireToTrkPosition_E =
locR;
945 const float EP = timeCor;
951 RtRelation_B_Ar_x =
LE - EP - t0;
952 RtRelation_B_Ar_y = std::abs(
locR);
953 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), RtRelation_B_Ar_x, RtRelation_B_Ar_y);
955 RtRelation_B_Ar_x =
LE - t0;
956 RtRelation_B_Ar_y = std::abs(
locR);
957 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), RtRelation_B_Ar_x, RtRelation_B_Ar_y);
961 RtRelation_B_x =
LE - EP - t0;
962 RtRelation_B_y = std::abs(
locR);
965 RtRelation_B_x =
LE - t0;
966 RtRelation_B_y = std::abs(
locR);
970 }
else if (ibe == 1) {
973 RtRelation_E_Ar_x =
LE - EP - t0;
974 RtRelation_E_Ar_y = std::abs(
locR);
977 RtRelation_E_Ar_x =
LE - t0;
978 RtRelation_E_Ar_y = std::abs(
locR);
983 RtRelation_E_x =
LE - EP - t0;
984 RtRelation_E_y = std::abs(
locR);
987 RtRelation_E_x =
LE - t0;
988 RtRelation_E_y = std::abs(
locR);
1008 HitTronTMapC_x = chip[ibe] - 1;
1009 HitTronTMapC_y = trailingEdgeScaled;
1014 HitTronTwEPCMapS_x = thisStrawNumber[ibe];
1015 HitTronTwEPCMapS_y = trailingEdgeScaled - timeCor;
1020 HitTronTwEPCMapC_x = chip[ibe] - 1;
1021 HitTronTwEPCMapC_y = trailingEdgeScaled - timeCor;
1029 TronTDist_B_Ar = trailingEdgeScaled;
1031 AvgTroTDetPhi_B_Ar_x = phi2D[ibe];
1032 AvgTroTDetPhi_B_Ar_y = trailingEdgeScaled;
1033 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), AvgTroTDetPhi_B_Ar_x, AvgTroTDetPhi_B_Ar_y);
1035 TronTDist_B = trailingEdgeScaled;
1037 AvgTroTDetPhi_B_x = phi2D[ibe];
1038 AvgTroTDetPhi_B_y = trailingEdgeScaled;
1039 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), AvgTroTDetPhi_B_x, AvgTroTDetPhi_B_y);
1041 }
else if (ibe == 1) {
1043 TronTDist_E_Ar = trailingEdgeScaled;
1045 AvgTroTDetPhi_E_Ar_x = phi2D[ibe];
1046 AvgTroTDetPhi_E_Ar_y = trailingEdgeScaled;
1049 TronTDist_E = trailingEdgeScaled;
1051 AvgTroTDetPhi_E_x = phi2D[ibe];
1052 AvgTroTDetPhi_E_y = trailingEdgeScaled;
1063 for (
int ibe = 0; ibe < 2; ibe++) {
1064 for (
int i = 0;
i < 64;
i++)
1065 if (trackfound[ibe][
i])
1066 ntrackstack[ibe][
i]++;
1071 NumHoTDetPhi_B_x = phi2D[ibe];
1072 NumHoTDetPhi_B_y = hitontrack[ibe];
1073 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), NumHoTDetPhi_B_x, NumHoTDetPhi_B_y);
1079 NumHoTDetPhi_E_x = phi2D[ibe];
1080 NumHoTDetPhi_E_y = hitontrack_E_side[0];
1081 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe)+
"0", NumHoTDetPhi_E_x, NumHoTDetPhi_E_y);
1085 NumHoTDetPhi_E_x = phi2D[ibe];
1086 NumHoTDetPhi_E_y = hitontrack_E_side[1];
1087 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe)+
"1", NumHoTDetPhi_E_x, NumHoTDetPhi_E_y);
1092 if (phi2D[ibe] < 0)
continue;
1096 if (nTRTHitsW[ibe][0] + nTRTHitsW[ibe][1] > 0) {
1097 NumTrksDetPhi_B = phi2D[ibe];
1100 }
else if (ibe == 1) {
1101 if (nTRTHitsW[ibe][0] > 0) {
1102 NumTrksDetPhi_E = phi2D[ibe];
1106 if (nTRTHitsW[ibe][1] > 0) {
1107 NumTrksDetPhi_E = phi2D[ibe];
1114 if ((nTRTHitsW[ibe][0] + nTRTHitsW[ibe][1]) > 0) {
1117 if (comTimeObject) {
1118 if (
m_doShift && (phi2D[ibe] > 0) && (std::abs(timeCor) > 1
e-8)) {
1119 EvtPhaseDetPhi_B_x = phi2D[ibe];
1120 EvtPhaseDetPhi_B_y = timeCor;
1121 fill(
"ShiftTRTTrackHistograms"+
std::to_string(ibe), EvtPhaseDetPhi_B_x, EvtPhaseDetPhi_B_y);
1124 }
else if (ibe == 1) {
1125 for (
int iside = 0; iside < 2; iside++) {
1126 if (nTRTHitsW[ibe][iside] > 0) nTrksperLB_E[iside]++;
1127 if (comTimeObject) {
1128 if (nTRTHits_side[ibe][iside] > 5 && (std::abs(timeCor)
1131 EvtPhaseDetPhi_E_x = phi2D[ibe];
1132 EvtPhaseDetPhi_E_y = timeCor;
1142 if (comTimeObject) {
1143 if (std::abs(timeCor) > 1
e-8) {
1146 fill(
"ShiftTRTTrackHistograms0", EvtPhase);
1150 std::vector<int> trigid;
1153 std::vector<unsigned int> level1TAV = trigDecision->
tav();
1155 for (
unsigned int j = 0; j < 8 && j < level1TAV.size(); ++j) {
1156 for (
unsigned int i = 0;
i < 32; ++
i) {
1157 if ((level1TAV[j] >>
i) & 0
x1) {
1158 trigid.push_back(
i + (j % 8) * 32);
1163 for (
unsigned int j = 0; j < trigid.size(); ++j) {
1164 EvtPhaseVsTrig_x = timeCor;
1165 EvtPhaseVsTrig_y = trigid[j];
1166 fill(
"ShiftTRTTrackHistograms0", EvtPhaseVsTrig_x, EvtPhaseVsTrig_y);
1179 SummaryWeight = nTotalTracks;
1182 SummaryWeight = nTracksB[0];
1185 SummaryWeight = nTracksB[1];
1188 SummaryWeight = nTracksEC[0];
1191 SummaryWeight = nTracksEC[1];
1194 SummaryWeight = nTracksEC_B[0];
1197 SummaryWeight = nTracksEC_B[1];
1203 int lastLumiBlock = -99;
1207 float evtLumiBlock = 1.;
1208 float lumiBlockScale = (evtLumiBlock > 0) ? (1. / evtLumiBlock) : 0;
1211 NTrksperLB_x = lastLumiBlock;
1212 NTrksperLB_y = (
float)nTrksperLB_B * lumiBlockScale;
1213 fill(
"ShiftTRTTrackHistograms0", NTrksperLB_x, NTrksperLB_y);
1215 for (
int iside = 0; iside < 2; iside++) {
1216 NTrksperLB_x = lastLumiBlock;
1217 NTrksperLB_y = (
float)nTrksperLB_E[iside] * lumiBlockScale;
1223 for (
int iside = 0; iside < 2; iside++) {
1224 nTrksperLB_E[iside] = 0;
1232 return StatusCode::SUCCESS;
1247 int lumiBlockNumber;
1249 lumiBlockNumber = eventInfo.
lumiBlock();
1257 IntLumWeight = intLum;
1258 fill(
"SmryHistograms", IntLumWeight, IntLum);
1259 LBvsLum = lumiBlockNumber;
1260 LBvsLumWeight = intLum;
1261 fill(
"SmryHistograms", LBvsLumWeight, LBvsLum);
1262 LBvsTime_x = lumiBlockNumber;
1264 fill(
"SmryHistograms", LBvsTime_x, LBvsTime_y);
1273 auto p_trk = trackCollection.
begin();
1278 for (; p_trk != trackCollection.
end(); ++p_trk) {
1279 AllTrkPar = ((*p_trk)->track())->trackParameters();
1281 for (p_trkpariter = AllTrkPar->
begin(); p_trkpariter != AllTrkPar->
end(); ++p_trkpariter) {
1282 if ((perigee =
dynamic_cast<const Trk::Perigee *
>(*p_trkpariter)))
break;
1289 ATH_MSG_DEBUG(
"No perigee mearsurement found for the track. This entry will not be propogated to aging histograms.");
1293 float track_eta = perigee->eta();
1294 float track_p = (perigee->parameters()[
Trk::qOverP] != 0.) ? std::abs(1. / (perigee->parameters()[
Trk::qOverP])) : 10e7;
1295 const Trk::TrackStates *trackStates = ((*p_trk)->track())->trackStateOnSurfaces();
1297 if (trackStates ==
nullptr)
continue;
1304 int trt_hits =
unsigned(tempHitsVariable);
1308 std::abs(track_p) >= 5000.;
1310 if (!passed_track_preselection)
continue;
1313 const Trk::TrackStates *track_states = ((*p_trk)->track())->trackStateOnSurfaces();
1316 ATH_MSG_DEBUG(
"This track has " << track_states->
size() <<
" track states on surface.");
1318 ATH_MSG_DEBUG(
"This track has null track states on surface.");
1322 int barrel_ec_side = 0;
1323 int layer_or_wheel = 0;
1325 int straw_layer = 0;
1327 for (; TSOSItBegin != TSOSItEnd; ++TSOSItBegin) {
1328 if ((*TSOSItBegin) ==
nullptr)
continue;
1334 if (!trtCircle)
continue;
1335 if (!aTrackParam)
continue;
1343 int Ba_Ec = abs(barrel_ec_side) - 1;
1344 int Side = barrel_ec_side > 0 ? 0 : 1;
1348 double RPos = sqrt(xPos * xPos + yPos * yPos);
1354 if (!RawDriftCircle) {
1360 int middleHTbit = RawDriftCircle->
getWord() & 0x00020000;
1362 bool is_middleHTbit_high = (middleHTbit != 0);
1364 bool isHighLevel = is_middleHTbit_high;
1365 bool shortStraw =
false;
1368 if (std::abs(track_eta) < 2. && Ba_Ec == 0.) {
1369 if ((layer_or_wheel == 0) && (phi_module < 4 || (phi_module > 7 && phi_module < 12) || (phi_module > 15 && phi_module < 20) || (phi_module > 23 && phi_module < 28))) InputBar = 1;
1370 else if ((
runNumber >= 296939) && (layer_or_wheel == 0) && (phi_module > 27)) InputBar = 1;
1371 else if (layer_or_wheel == 0)
1373 else if ((layer_or_wheel == 1) && ((phi_module > 1 && phi_module < 6) || (phi_module > 9 && phi_module < 14) || (phi_module > 17 && phi_module < 22) || (phi_module > 25 && phi_module < 30)))
1375 else if (layer_or_wheel == 1)
1377 else if (layer_or_wheel == 2 && phi_module % 2 != 0)
1379 else if (layer_or_wheel == 2)
1386 if ((layer_or_wheel == 0) && straw_layer < 9.)
1391 if ((!shortStraw) && (Ba_Ec == 0)) {
1422 if ((Ba_Ec == 1) && (layer_or_wheel < 6) &&
1423 ((straw_layer > 3 && straw_layer < 8) ||
1424 (straw_layer > 11))) {
1427 if ((Ba_Ec == 1) && (layer_or_wheel >= 6) &&
1428 (straw_layer > 3)) {
1431 if ((Ba_Ec == 1) && (layer_or_wheel < 6) &&
1432 ((straw_layer > -1 && straw_layer < 4) ||
1433 (straw_layer > 7 && straw_layer < 12))) {
1436 if ((Ba_Ec == 1) && (layer_or_wheel >= 6) &&
1437 ((straw_layer > -1 && straw_layer < 4))) {
1441 if (WType < 0 && Ba_Ec == 1) {
1457 return StatusCode::SUCCESS;
1463 bool passEventBurst =
true;
1475 if (!xAODEventInfo.
isValid()) {
1478 return StatusCode::FAILURE;
1482 if (!trackCollection.
isValid()) {
1485 return StatusCode::FAILURE;
1490 if (!trigDecision) {
1495 const ComTime *comTimeObject=
nullptr;
1498 if (!tmp_comTimeObject.
isValid()) {
1503 comTimeObject = tmp_comTimeObject.
cptr();
1510 if (!trackCollection.
isValid()) {
1513 return StatusCode::FAILURE;
1517 if (passEventBurst) {
1523 return StatusCode::SUCCESS;