779 auto good_bcid = eventInfo.
bcid();
785 int numberOfStacks_b[2];
788 Identifier TRT_Identifier;
789 int numberOfStrawsMod[3];
790 numberOfStrawsMod[0] = 329;
791 numberOfStrawsMod[1] = 520;
792 numberOfStrawsMod[2] = 793;
793 int numberOfStrawsWheel[2];
794 numberOfStrawsWheel[0] = 2304;
795 numberOfStrawsWheel[1] = 1536;
796 int moduleHits_B[192];
797 int moduleHits_E[128];
798 int HLmoduleHits_B[192];
799 int HLmoduleHits_E[128];
800 int nHitsperLB_B = 0;
801 int nHLHitsperLB_B = 0;
802 int nHitsperLB_E[2] = {0, 0};
803 int nHLHitsperLB_E[2] = {0, 0};
805 for (
int i = 0;
i < 192;
i++) {
807 HLmoduleHits_B[
i] = 0;
810 for (
int i = 0;
i < 128;
i++) {
812 HLmoduleHits_E[
i] = 0;
815 auto scale_hHitWMap_B_passed = std::make_unique<short int[][s_Straw_max[0]]>(2);
816 auto scale_hHitWMap_E_passed = std::make_unique<short int[][2][s_Straw_max[1]]>(2);
840 int goodid_status = 0;
843 if (trtBCIDCollection) {
844 InDetTimeCollection::const_iterator itrt_bcid = trtBCIDCollection->begin();
846 while (goodid_status == 0 && itrt_bcid != trtBCIDCollection->end()) {
848 const unsigned int trt_bcid = (*itrt_bcid).second;
850 if (itrt_bcid > trtBCIDCollection->begin() && prev_bcid - trt_bcid == 0) {
852 }
else if (itrt_bcid > trtBCIDCollection->begin() && prev_bcid - trt_bcid != 0) {
854 std::hex << (*itrt_bcid).first <<
" trt bcid from ROD is " <<
855 std::hex << trt_bcid);
858 prev_bcid = trt_bcid;
871 for (
int ibe = 0; ibe < 2; ibe++) {
881 std::map<int,std::map<int, std::vector<straw_struct>>> straw_map;
882 std::map<int,std::map<int, std::vector<chip_struct>>> chip_map;
883 std::map<int,std::vector<straw_shifter_struct>> straw_shifter_map;
884 std::map<int,std::map<int, std::vector<straw_struct_prob>>> straw_map_prob;
885 std::map<int,std::map<int, std::vector<chip_struct_prob>>> chip_map_prob;
887 std::vector<std::vector<std::vector<int>>> scale_hHitWMap =
initScaleVectors();
889 for (; RDO_CollectionBegin != RDO_CollectionEnd; ++RDO_CollectionBegin) {
892 if (!TRT_Collection)
continue;
896 for (; p_rdo != TRT_Collection->end(); ++p_rdo) {
897 int middleHTbit = (*p_rdo)->getWord() & 0x00020000;
899 int hitinvaliditygate = (*p_rdo)->getWord() & 0x000DFE80;
901 bool is_middleHTbit_high = (middleHTbit != 0);
902 bool is_anybininVgate_high = (hitinvaliditygate != 0);
903 TRT_Identifier = (*p_rdo)->identify();
911 if (!p_lolum)
continue;
914 int ibe = abs(barrel_ec) - 1;
915 int iside = barrel_ec > 0 ? 0 : 1;
918 if (ibe != 1 && ibe != 0) {
919 ATH_MSG_DEBUG(
"TRT part retrieved from TRT Identifier is not a barrel or an endcap");
923 int moduleNumber_barrel1[2];
924 int moduleNumber_barrel2[2];
925 int moduleNumber_barrel3[2];
926 int moduleNumber_endcapA[2];
927 int moduleNumber_endcapB[2];
931 TRT_Identifier = p_lolum->
identify();
945 if ( is_barrel && ibe == 0 ) {
948 if (thisStrawNumber >= 0 && thisStrawNumber <
s_Straw_max[ibe]) {
954 }
else if ( !is_barrel && ibe == 1 ) {
957 if (thisStrawNumber >= 0 && thisStrawNumber <
s_Straw_max[ibe]) {
963 thisStrawNumber = -1;
966 if (thisStrawNumber < 0 || thisStrawNumber >=
s_Straw_max[ibe]) {
967 ATH_MSG_WARNING(
"Found m_strawNumber = " << thisStrawNumber <<
" out of range.");
972 const bool highlevel = is_middleHTbit_high;
976 moduleNumber_barrel1[0] = phi_module;
977 moduleNumber_barrel1[1] = phi_module + 96;
982 moduleNumber_endcapA[0] = phi_module;
983 moduleNumber_endcapA[1] = phi_module + 64;
986 int iphi_module = -999;
989 iphi_module = phi_module;
990 }
else if (iside == 1) {
991 iphi_module = phi_module + 32;
997 this_struct.
isAr = isArgonStraw;
1000 if (abs(barrel_ec) == 1) scale_hHitWMap_B_passed[isArgonStraw ? 1 : 0][thisStrawNumber]++;
1001 if (abs(barrel_ec) == 2) scale_hHitWMap_E_passed[barrel_ec < 0 ? 1 : 0][isArgonStraw ? 1 : 0][thisStrawNumber]++;
1014 }
else if (ibe == 1) {
1018 nHitsperLB_E[iside]++;
1021 nHLHitsperLB_E[iside]++;
1028 straw_struct_prob& this_struct = straw_map_prob[ibe][iphi_module].emplace_back();
1030 this_struct.
HitHWMapS_cut = highlevel && is_middleHTbit_high;
1041 if (highlevel && is_middleHTbit_high) scale_hHitHWMapS_B_passed[iphi_module][thisStrawNumber]++;
1044 if (is_anybininVgate_high) scale_hHitAWMapS_B_passed[iphi_module][thisStrawNumber]++;
1045 if (highlevel) scale_hHitHMapS_B_passed[iphi_module][thisStrawNumber]++;
1048 if (highlevel && is_middleHTbit_high) scale_hHitHWMapS_E_passed[iphi_module][thisStrawNumber]++;
1051 if (is_anybininVgate_high) scale_hHitAWMapS_E_passed[iphi_module][thisStrawNumber]++;
1052 if (highlevel) scale_hHitHMapS_E_passed[iphi_module][thisStrawNumber]++;
1059 straw_struct& this_struct = straw_map[ibe][iphi_module].emplace_back();
1068 HtoLMapS = thisStrawNumber;
1069 HtoLMapS_passed = 1.0;
1072 HtoLMapS = thisStrawNumber;
1073 HtoLMapS_passed = 0.0;
1079 chip_struct_prob& this_struct = chip_map_prob[ibe][iphi_module].emplace_back();
1081 this_struct.
HitHWMapC_cut = highlevel && is_middleHTbit_high;
1092 if (highlevel && is_middleHTbit_high) scale_hHitHWMapC_B_passed[iphi_module][chip - 1]++;
1095 if (is_anybininVgate_high) scale_hHitAWMapC_B_passed[iphi_module][chip - 1]++;
1096 if (highlevel) scale_hHitHMapC_B_passed[iphi_module][chip - 1]++;
1099 if (highlevel && is_middleHTbit_high) scale_hHitHWMapC_E_passed[iphi_module][chip - 1]++;
1102 if (is_anybininVgate_high) scale_hHitAWMapC_E_passed[iphi_module][chip - 1]++;
1103 if (highlevel) scale_hHitHMapC_E_passed[iphi_module][chip - 1]++;
1108 chip_struct& this_struct = chip_map[ibe][iphi_module].emplace_back();
1136 HtoLMapC = chip - 1;
1137 HtoLMapC_passed = 1.0;
1140 HtoLMapC = chip - 1;
1141 HtoLMapC_passed = 0.0;
1148 int moduleNumber = -1;
1151 if (layer_or_wheel == 0) {
1152 moduleNumber = moduleNumber_barrel1[iside];
1153 moduleHits_B[moduleNumber]++;
1154 }
else if (layer_or_wheel == 1) {
1155 moduleNumber = moduleNumber_barrel2[iside];
1156 moduleHits_B[moduleNumber]++;
1157 }
else if (layer_or_wheel == 2) {
1158 moduleNumber = moduleNumber_barrel3[iside];
1159 moduleHits_B[moduleNumber]++;
1163 if (layer_or_wheel == 0) {
1164 moduleNumber = moduleNumber_barrel1[iside];
1165 HLmoduleHits_B[moduleNumber]++;
1166 }
else if (layer_or_wheel == 1) {
1167 moduleNumber = moduleNumber_barrel2[iside];
1168 HLmoduleHits_B[moduleNumber]++;
1169 }
else if (layer_or_wheel == 2) {
1170 moduleNumber = moduleNumber_barrel3[iside];
1171 HLmoduleHits_B[moduleNumber]++;
1174 }
else if (ibe == 1) {
1175 if (layer_or_wheel < 6) {
1176 moduleNumber = moduleNumber_endcapA[iside];
1177 moduleHits_E[moduleNumber]++;
1178 }
else if (layer_or_wheel > 5) {
1179 moduleNumber = moduleNumber_endcapB[iside];
1180 moduleHits_E[moduleNumber]++;
1184 if (layer_or_wheel < 6) {
1185 moduleNumber = moduleNumber_endcapA[iside];
1186 HLmoduleHits_E[moduleNumber]++;
1187 }
else if (layer_or_wheel > 5) {
1188 moduleNumber = moduleNumber_endcapB[iside];
1189 HLmoduleHits_E[moduleNumber]++;
1198 for (
int iGas = 0; iGas < 2; iGas++) {
1200 if (scale_hHitWMap[0][iGas].at(
k) - scale_hHitWMap_B_passed[iGas][
k] >= 0) {
1201 for (
int j = 0; j < scale_hHitWMap[0][iGas].at(
k) - scale_hHitWMap_B_passed[iGas][
k]; j++) {
1205 this_struct.
isAr = iGas > 0 ? true :
false;
1211 ATH_MSG_ERROR(
"Scale value " << scale_hHitWMap[0][iGas].at(
k) - scale_hHitWMap_B_passed[iGas][
k] <<
1212 " is less than zero in scaling for Barrel, iGas = " << iGas <<
", k = " <<
k);
1214 }
catch (out_of_range &
e) {
1215 ATH_MSG_ERROR(
"Index " <<
k <<
" out of range in scaling for Barrel");
1222 for (
int iside = 0; iside < 2; iside++) {
1223 for (
int iGas = 0; iGas < 2; iGas++) {
1225 if (scale_hHitWMap[iside + 1][iGas].at(
k) - scale_hHitWMap_E_passed[iside][iGas][
k] >= 0) {
1226 for (
int j = 0; j < scale_hHitWMap[iside + 1][iGas].at(
k) - scale_hHitWMap_E_passed[iside][iGas][
k]; j++) {
1230 this_struct.
isAr = iGas > 0 ? true :
false;
1236 ATH_MSG_ERROR(
"Scale value " << scale_hHitWMap[iside + 1][iGas].at(
k) - scale_hHitWMap_E_passed[iside][iGas][
k] <<
1237 " is less than zero in scaling for Endcap, iside = " << iside <<
", iGas = " << iGas <<
", k = " <<
k);
1239 }
catch (out_of_range &
e) {
1240 ATH_MSG_ERROR(
"Index " <<
k <<
" out of range in scaling for Endcap");
1249 for (
int iside = 0; iside < 2; iside++) {
1251 int iphi_module = -999;;
1252 if (iside == 0) iphi_module = phi_module;
else if (iside == 1) iphi_module = phi_module + 32;
1253 if (scale_hHitHWMapS_B_passed[iphi_module][
k] < 2 || scale_hHitWMapS_B_passed[iphi_module][
k] < 2 ||
1254 scale_hHitAMapS_B_passed[iphi_module][
k] < 2 || scale_hHitAWMapS_B_passed[iphi_module][
k] < 2 ||
1255 scale_hHitHMapS_B_passed[iphi_module][
k] < 2) {
1256 for (
int l = 0;
l < 1 - scale_hHitHWMapS_B_passed[iphi_module][
k];
l++){
1262 for (
int l = 0;
l < 1 - scale_hHitWMapS_B_passed[iphi_module][
k];
l++){
1268 for (
int l = 0;
l < 1 - scale_hHitAMapS_B_passed[iphi_module][
k];
l++){
1274 for (
int l = 0;
l < 1 - scale_hHitAWMapS_B_passed[iphi_module][
k];
l++){
1280 for (
int l = 0;
l < 1 - scale_hHitHMapS_B_passed[iphi_module][
k];
l++){
1287 ATH_MSG_ERROR(
"Scale value is less than zero in normalization for Barrel straw!");
1295 for (
int iside = 0; iside < 2; iside++) {
1297 int iphi_module = -999;;
1298 if (iside == 0) iphi_module = phi_module;
else if (iside == 1) iphi_module = phi_module + 32;
1299 if (scale_hHitHWMapC_B_passed[iphi_module][
k] < 17 || scale_hHitWMapC_B_passed[iphi_module][
k] < 17 ||
1300 scale_hHitAMapC_B_passed[iphi_module][
k] < 17 || scale_hHitAWMapC_B_passed[iphi_module][
k] < 17 ||
1301 scale_hHitHMapC_B_passed[iphi_module][
k] < 17) {
1302 for (
int l = 0;
l < 16*1. - scale_hHitHWMapC_B_passed[iphi_module][
k];
l++){
1303 chip_struct_prob& this_struct = chip_map_prob[0][iphi_module].emplace_back();
1308 for (
int l = 0;
l < 16*1. - scale_hHitWMapC_B_passed[iphi_module][
k];
l++){
1309 chip_struct_prob& this_struct = chip_map_prob[0][iphi_module].emplace_back();
1314 for (
int l = 0;
l < 16*1. - scale_hHitAMapC_B_passed[iphi_module][
k];
l++){
1315 chip_struct_prob& this_struct = chip_map_prob[0][iphi_module].emplace_back();
1320 for (
int l = 0;
l < 16*1. - scale_hHitAWMapC_B_passed[iphi_module][
k];
l++){
1321 chip_struct_prob& this_struct = chip_map_prob[0][iphi_module].emplace_back();
1326 for (
int l = 0;
l < 16*1. - scale_hHitHMapC_B_passed[iphi_module][
k];
l++){
1327 chip_struct_prob& this_struct = chip_map_prob[0][iphi_module].emplace_back();
1333 ATH_MSG_ERROR(
"Scale value is less than zero in normalization for Barrel chip!");
1341 for (
int iside = 0; iside < 2; iside++) {
1343 int iphi_module = -999;;
1344 if (iside == 0) iphi_module = phi_module;
else if (iside == 1) iphi_module = phi_module + 32;
1345 if (scale_hHitHWMapS_E_passed[iphi_module][
k] < 2 || scale_hHitWMapS_E_passed[iphi_module][
k] < 2 ||
1346 scale_hHitAMapS_E_passed[iphi_module][
k] < 2 || scale_hHitAWMapS_E_passed[iphi_module][
k] < 2 ||
1347 scale_hHitHMapS_E_passed[iphi_module][
k] < 2) {
1348 for (
int l = 0;
l < 1. - scale_hHitHWMapS_E_passed[iphi_module][
k];
l++){
1354 for (
int l = 0;
l < 1. - scale_hHitWMapS_E_passed[iphi_module][
k];
l++){
1360 for (
int l = 0;
l < 1. - scale_hHitAMapS_E_passed[iphi_module][
k];
l++){
1366 for (
int l = 0;
l < 1. - scale_hHitAWMapS_E_passed[iphi_module][
k];
l++){
1372 for (
int l = 0;
l < 1. - scale_hHitHMapS_E_passed[iphi_module][
k];
l++){
1379 ATH_MSG_ERROR(
"Scale value is less than zero in normalization for Endcap straw!");
1387 for (
int iside = 0; iside < 2; iside++) {
1389 int iphi_module = -999;;
1390 if (iside == 0) iphi_module = phi_module;
else if (iside == 1) iphi_module = phi_module + 32;
1391 if (scale_hHitHWMapC_E_passed[iphi_module][
k] < 17 || scale_hHitWMapC_E_passed[iphi_module][
k] < 17 ||
1392 scale_hHitAMapC_E_passed[iphi_module][
k] < 17 || scale_hHitAWMapC_E_passed[iphi_module][
k] < 17 ||
1393 scale_hHitHMapC_E_passed[iphi_module][
k] < 17) {
1394 for (
int l = 0;
l < 16*1. - scale_hHitHWMapC_E_passed[iphi_module][
k];
l++){
1395 chip_struct_prob& this_struct = chip_map_prob[1][iphi_module].emplace_back();
1400 for (
int l = 0;
l < 16*1. - scale_hHitWMapC_E_passed[iphi_module][
k];
l++){
1401 chip_struct_prob& this_struct = chip_map_prob[1][iphi_module].emplace_back();
1406 for (
int l = 0;
l < 16*1. - scale_hHitAMapC_E_passed[iphi_module][
k];
l++){
1407 chip_struct_prob& this_struct = chip_map_prob[1][iphi_module].emplace_back();
1412 for (
int l = 0;
l < 16*1. - scale_hHitAWMapC_E_passed[iphi_module][
k];
l++){
1413 chip_struct_prob& this_struct = chip_map_prob[1][iphi_module].emplace_back();
1418 for (
int l = 0;
l < 16*1. - scale_hHitHMapC_E_passed[iphi_module][
k];
l++){
1419 chip_struct_prob& this_struct = chip_map_prob[1][iphi_module].emplace_back();
1425 ATH_MSG_ERROR(
"Scale value is less than zero in normalization for Endcap chip!");
1432 for (
const auto& ibarrel_ecpair : straw_shifter_map) {
1433 int ibe = abs(ibarrel_ecpair.first) - 1;
1434 int iside = ibarrel_ecpair.first > 0 ? 0 : 1;
1436 auto HitWMap_passed =
Monitored::Collection(
"HitWMap_passed", ibarrel_ecpair.second, [](
const auto&
s){return s.HitWMap_passed;});
1437 auto HitWMap_Ar_passed =
Monitored::Collection(
"HitWMap_Ar_passed", ibarrel_ecpair.second, [](
const auto&
s){return s.HitWMap_Ar_passed;});
1439 auto isNotAr =
Monitored::Collection(
"isNotAr", ibarrel_ecpair.second, [](
const auto&
s){return not s.isAr;});
1441 fill(
"RDOHistograms0",
strawNumber, HitWMap_passed, HitWMap_Ar_passed, isAr, isNotAr);
1442 }
else if (ibe == 1) {
1448 for (
const auto& ibepair : straw_map_prob) {
1449 for (
const auto& iphi_modulepair : ibepair.second ) {
1451 auto HitHWMapS_passed =
Monitored::Collection(
"HitHWMapS_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitHWMapS_passed;});
1452 auto HitWMapS_passed =
Monitored::Collection(
"HitWMapS_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitWMapS_passed;});
1453 auto HitAMapS_passed =
Monitored::Collection(
"HitAMapS_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitAMapS_passed;});
1454 auto HitAWMapS_passed =
Monitored::Collection(
"HitAWMapS_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitAWMapS_passed;});
1455 auto HitHMapS_passed =
Monitored::Collection(
"HitHMapS_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitHMapS_passed;});
1456 auto HitHWMapS_cut =
Monitored::Collection(
"HitHWMapS_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitHWMapS_cut;});
1457 auto HitWMapS_cut =
Monitored::Collection(
"HitWMapS_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitWMapS_cut;});
1458 auto HitAMapS_cut =
Monitored::Collection(
"HitAMapS_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitAMapS_cut;});
1459 auto HitAWMapS_cut =
Monitored::Collection(
"HitAWMapS_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitAWMapS_cut;});
1460 auto HitHMapS_cut =
Monitored::Collection(
"HitHMapS_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitHMapS_cut;});
1463 HitWMapS_passed, HitWMapS_cut, HitAMapS_passed, HitAMapS_cut, HitAWMapS_passed, HitAWMapS_cut, HitHMapS_passed, HitHMapS_cut);
1467 for (
const auto& ibepair : chip_map_prob) {
1468 for (
const auto& iphi_modulepair : ibepair.second ) {
1469 auto chipNumber =
Monitored::Collection(
"chipNumber", iphi_modulepair.second, [](
const auto&
s){return s.chipNumber;});
1470 auto HitHWMapC_passed =
Monitored::Collection(
"HitHWMapC_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitHWMapC_passed;});
1471 auto HitWMapC_passed =
Monitored::Collection(
"HitWMapC_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitWMapC_passed;});
1472 auto HitAMapC_passed =
Monitored::Collection(
"HitAMapC_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitAMapC_passed;});
1473 auto HitAWMapC_passed =
Monitored::Collection(
"HitAWMapC_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitAWMapC_passed;});
1474 auto HitHMapC_passed =
Monitored::Collection(
"HitHMapC_passed", iphi_modulepair.second, [](
const auto&
s){return s.HitHMapC_passed;});
1475 auto HitHWMapC_cut =
Monitored::Collection(
"HitHWMapC_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitHWMapC_cut;});
1476 auto HitWMapC_cut =
Monitored::Collection(
"HitWMapC_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitWMapC_cut;});
1477 auto HitAMapC_cut =
Monitored::Collection(
"HitAMapC_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitAMapC_cut;});
1478 auto HitAWMapC_cut =
Monitored::Collection(
"HitAWMapC_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitAWMapC_cut;});
1479 auto HitHMapC_cut =
Monitored::Collection(
"HitHMapC_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitHMapC_cut;});
1482 HitWMapC_passed, HitWMapC_cut, HitAMapC_passed, HitAMapC_cut, HitAWMapC_passed, HitAWMapC_cut, HitHMapC_passed, HitHMapC_cut);
1487 for (
const auto& ibepair : straw_map) {
1488 for (
const auto& iphi_modulepair : ibepair.second ) {
1490 auto HitTrMapS_y =
Monitored::Collection(
"HitTrMapS_y", iphi_modulepair.second, [](
const auto&
s){return s.HitTrMapS_y;});
1491 auto HitToTMapS_y =
Monitored::Collection(
"HitToTMapS_y", iphi_modulepair.second, [](
const auto&
s){return s.HitToTMapS_y;});
1492 auto HitToTLong_cut =
Monitored::Collection(
"HitToTLong_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitToTLong_cut;});
1493 auto HitTrWMapS_y =
Monitored::Collection(
"HitTrWMapS_y", iphi_modulepair.second, [](
const auto&
s){return s.HitTrWMapS_y;});
1494 auto HitTrWMapS_cut =
Monitored::Collection(
"HitTrWMapS_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitTrWMapS_cut;});
1497 HitTrMapS_y, HitToTMapS_y, HitToTLong_cut, HitTrWMapS_y, HitTrWMapS_cut);
1501 for (
const auto& ibepair : chip_map) {
1502 for (
const auto& iphi_modulepair : ibepair.second ) {
1503 auto chipNumber =
Monitored::Collection(
"chipNumber", iphi_modulepair.second, [](
const auto&
s){return s.chipNumber;});
1504 auto HitTrMapC_y =
Monitored::Collection(
"HitTrMapC_y", iphi_modulepair.second, [](
const auto&
s){return s.HitTrMapC_y;});
1505 auto HitToTMapC_y =
Monitored::Collection(
"HitToTMapC_y", iphi_modulepair.second, [](
const auto&
s){return s.HitToTMapC_y;});
1506 auto HtoBCMapC_x =
Monitored::Collection(
"HtoBCMapC_x", iphi_modulepair.second, [](
const auto&
s){return s.HtoBCMapC_x;});
1507 auto HtoBCMapB_x =
Monitored::Collection(
"HtoBCMapB_x", iphi_modulepair.second, [](
const auto&
s){return s.HtoBCMapB_x;});
1508 auto HtoBCMapB_y =
Monitored::Collection(
"HtoBCMapB_y", iphi_modulepair.second, [](
const auto&
s){return s.HtoBCMapB_y;});
1509 auto HtoBCMap_cut =
Monitored::Collection(
"HtoBCMap_cut", iphi_modulepair.second, [](
const auto&
s){return s.HtoBCMap_cut;});
1510 auto HitTrWMapC_cut =
Monitored::Collection(
"HitTrWMapC_cut", iphi_modulepair.second, [](
const auto&
s){return s.HitTrWMapC_cut;});
1513 chipNumber, HitTrMapC_y, HitToTMapC_y, HtoBCMapC_x, HtoBCMapB_x, HtoBCMapB_y, HtoBCMap_cut, HitTrWMapC_cut);
1517 OccAll = nhitsall/350848.;
1518 fill(
"RDOHistograms0", OccAll);
1521 for (
int ibe = 0; ibe < 2; ibe++) {
1524 BCIDvsOcc_x = good_bcid;
1525 BCIDvsOcc_y = nTRTHits[ibe]/105088.0;
1526 fill(
"RDOHistograms0", BCIDvsOcc_x, BCIDvsOcc_y);
1527 }
else if (ibe == 1) {
1528 BCIDvsOcc_x = good_bcid;
1529 BCIDvsOcc_y = nTRTHits[ibe]/245760.0;
1530 fill(
"RDOHistograms1", BCIDvsOcc_x, BCIDvsOcc_y);
1533 for (
int iside = 0; iside < 2; iside++) {
1534 for (
int i = 1;
i <= numberOfStacks_b[ibe];
i++) {
1537 int modulenum_tmp = 0;
1541 modulenum_tmp =
i - 1;
1542 }
else if (iside == 1) {
1545 if (ibe == 0) modulenum_tmp = (
i - 1) + 96;
1546 else if (ibe == 1) modulenum_tmp = (
i - 1) + 64;
1558 int LLocc_index = index_tmp - 32 * nclass;
1562 float occLL =
float(moduleHits_B[modulenum_tmp]) /
float(numberOfStrawsMod[nclass]);
1563 float occHL =
float(HLmoduleHits_B[modulenum_tmp]) /
float(numberOfStrawsMod[nclass]);
1564 AvgLLOcc_side_x =
i - (32 * nclass);
1565 AvgLLOcc_side_y = occLL;
1566 AvgHLOcc_side_x =
i - (32 * nclass);
1567 AvgHLOcc_side_y = occHL;
1568 AvgLLOccMod_side_x =
i;
1569 AvgLLOccMod_side_y = occLL;
1570 AvgHLOccMod_side_x =
i;
1571 AvgHLOccMod_side_y = occHL;
1572 }
else if (ibe == 1) {
1573 float occLL =
float(moduleHits_E[modulenum_tmp]) /
float(numberOfStrawsWheel[nclass]);
1574 float occHL =
float(HLmoduleHits_E[modulenum_tmp]) /
float(numberOfStrawsWheel[nclass]);
1576 if (LLocc_index < 64) {
1580 AvgLLOcc_side_x =
i - (32 * nclass);
1581 AvgLLOcc_side_y = occLL;
1582 AvgHLOcc_side_x =
i - (32 * nclass);
1583 AvgHLOcc_side_y = occHL;
1584 AvgLLOccMod_side_x =
i;
1585 AvgLLOccMod_side_y = occLL;
1586 AvgHLOccMod_side_x =
i;
1587 AvgHLOccMod_side_y = occHL;
1590 AvgLLOccMod_side_x, AvgLLOccMod_side_y, AvgHLOccMod_side_x, AvgHLOccMod_side_y);
1602 int lastLumiBlock = -99;
1606 float evtLumiBlock = 1.;
1607 float lumiBlockScale = (evtLumiBlock > 0) ? (1. / evtLumiBlock) : 0;
1608 const float barrelConst = 1. / 105088;
1609 const float endcapConst = 1. / 122880;
1612 NHitsperLB_x = lastLumiBlock;
1613 NHitsperLB_y = (
float)nHitsperLB_B * lumiBlockScale * barrelConst;
1614 fill(
"RDOShiftRebinnedBarrelHistograms0", NHitsperLB_x, NHitsperLB_y);
1615 NHLHitsperLB_x = lastLumiBlock;
1616 NHLHitsperLB_y = (
float)nHLHitsperLB_B * lumiBlockScale * barrelConst;
1617 fill(
"RDOShiftRebinnedBarrelHistograms0", NHLHitsperLB_x, NHLHitsperLB_y);
1619 for (
int iside = 0; iside < 2; iside++) {
1620 NHitsperLB_x = lastLumiBlock;
1621 NHitsperLB_y = (
float)nHitsperLB_E[iside] * lumiBlockScale * endcapConst;
1622 fill(
"RDOShiftRebinnedEndcapHistograms1"+
std::to_string(iside), NHitsperLB_x, NHitsperLB_y);
1623 NHLHitsperLB_x = lastLumiBlock;
1624 NHLHitsperLB_y = (
float)nHLHitsperLB_E[iside] * lumiBlockScale * endcapConst;
1625 fill(
"RDOShiftRebinnedEndcapHistograms1"+
std::to_string(iside), NHLHitsperLB_x, NHLHitsperLB_y);
1631 for (
int iside = 0; iside < 2; iside++) {
1632 nHitsperLB_E[iside] = 0;
1633 nHLHitsperLB_E[iside] = 0;
1646 const unsigned int rod_id_base[2][2] = { { 0x310000, 0x320000 }, { 0x330000, 0x340000 } };
1647 const unsigned int nChipsTotal[2][2] = { { 3328, 3328 }, { 7680, 7680 } };
1648 const unsigned int nRobsTotal[2][2] = { { 32, 32 }, { 64, 64 } };
1649 float nBSErrors[2][2] = { { 0, 0 }, { 0, 0 } };
1650 float nRobErrors[2][2] = { { 0, 0 }, { 0, 0 } };
1651 const std::set<std::pair<uint32_t, uint32_t> > *errorset1[2] = { BCIDErrorSet, L1IDErrorSet };
1653 for (
int iset = 0; iset < 2; ++iset) {
1654 for (
auto setIt = errorset1[iset]->
begin(); setIt != errorset1[iset]->end(); ++setIt) {
1655 for (
int ibe = 0; ibe < 2; ++ibe) {
1656 for (
int iside = 0; iside < 2; ++iside) {
1657 if (((setIt->first >> 8) & 0xFF0000) == rod_id_base[ibe][iside]) {
1658 nBSErrors[ibe][iside] += 1. / nChipsTotal[ibe][iside];
1665 const std::set<uint32_t> *errorset2[2] = { MissingErrorSet, SidErrorSet };
1667 for (
int iset = 0; iset < 2; ++iset) {
1668 for (
auto setIt = errorset2[iset]->
begin(); setIt != errorset2[iset]->end(); ++setIt) {
1669 for (
int ibe = 0; ibe < 2; ++ibe) {
1670 for (
int iside = 0; iside < 2; ++iside) {
1671 if (((*setIt >> 8) & 0xFF0000) == rod_id_base[ibe][iside]) {
1672 nBSErrors[ibe][iside] += 1. / nChipsTotal[ibe][iside];
1679 for (
int ibe = 0; ibe < 2; ++ibe) {
1680 for (
int iside = 0; iside < 2; ++iside) {
1682 ChipBSErrorsVsLB_y = nBSErrors[ibe][iside];
1690 for (
auto setIt = RobStatusErrorSet->begin(); setIt != RobStatusErrorSet->end(); ++setIt) {
1691 for (
int ibe = 0; ibe < 2; ++ibe) {
1692 for (
int iside = 0; iside < 2; ++iside) {
1693 if (setIt->first % rod_id_base[ibe][iside] < 0xffff) {
1694 nRobErrors[ibe][iside] += 1. / nRobsTotal[ibe][iside];
1700 for (
int ibe = 0; ibe < 2; ++ibe) {
1701 for (
int iside = 0; iside < 2; ++iside) {
1703 RobBSErrorsVsLB_y = nRobErrors[ibe][iside];
1712 return StatusCode::SUCCESS;