7 #define NUM_CSC_CHAMBERS 6 * 9
11 #define NUM_RPC_CHAMBERS 7 * 10
13 #define NUM_GEM_CHAMBERS 15
15 #define NUM_DT_CHAMBERS 3 * 4
48 std::map<int, TriggerPrimitiveCollection>& selected_csc_map)
const {
49 TriggerPrimitiveCollection::const_iterator tp_it = muon_primitives.begin();
50 TriggerPrimitiveCollection::const_iterator tp_end = muon_primitives.end();
52 for (; tp_it != tp_end; ++tp_it) {
57 bool patchPattern =
true;
69 bool patchQuality =
true;
80 if (selected_csc >= 0) {
84 if (selected_csc_map[selected_csc].
size() < 2) {
85 selected_csc_map[selected_csc].push_back(new_tp);
87 edm::LogWarning(
"L1T") <<
"\n******************* EMTF EMULATOR: SUPER-BIZZARE CASE *******************";
88 edm::LogWarning(
"L1T") <<
"Found 3 CSC trigger primitives in the same chamber";
89 for (
int ii = 0;
ii < 3;
ii++) {
99 edm::LogWarning(
"L1T") <<
"************************* ONLY KEEP FIRST TWO *************************\n\n";
109 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_it = selected_csc_map.begin();
110 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_end = selected_csc_map.end();
112 for (; map_tp_it != map_tp_end; ++map_tp_it) {
113 int selected = map_tp_it->first;
116 if (tmp_primitives.size() >= 4) {
117 edm::LogWarning(
"L1T") <<
"EMTF found 4 or more CSC LCTs in one chamber: keeping only two";
118 tmp_primitives.erase(tmp_primitives.begin() + 4, tmp_primitives.end());
119 tmp_primitives.erase(tmp_primitives.begin() + 2);
120 tmp_primitives.erase(tmp_primitives.begin() + 1);
121 }
else if (tmp_primitives.size() == 3) {
122 edm::LogWarning(
"L1T") <<
"EMTF found 3 CSC LCTs in one chamber: keeping only two";
123 tmp_primitives.erase(tmp_primitives.begin() + 2);
127 if (tmp_primitives.size() == 2) {
128 if ((tmp_primitives.at(0).getStrip() != tmp_primitives.at(1).getStrip()) &&
129 (tmp_primitives.at(0).getWire() != tmp_primitives.at(1).getWire())) {
137 tmp_primitives.insert(tmp_primitives.begin() + 1, tp1);
138 tmp_primitives.insert(tmp_primitives.begin() + 2, tp0);
141 const bool is_csc_me11 = (0 <= selected && selected <= 2) || (9 <= selected && selected <= 11) ||
146 if (tmp_primitives.size() == 2) {
154 tmp_primitives.insert(tmp_primitives.begin() + 1, tp1);
155 tmp_primitives.insert(tmp_primitives.begin() + 2, tp0);
157 emtf_assert(tmp_primitives.size() == 1 || tmp_primitives.size() == 4);
170 std::map<int, TriggerPrimitiveCollection>& selected_rpc_map)
const {
171 TriggerPrimitiveCollection::const_iterator tp_it = muon_primitives.begin();
172 TriggerPrimitiveCollection::const_iterator tp_end = muon_primitives.end();
174 for (; tp_it != tp_end; ++tp_it) {
177 if (selected_rpc >= 0) {
179 selected_rpc_map[selected_rpc].push_back(*tp_it);
192 bool apply_truncation =
true;
193 if (apply_truncation) {
198 if (
x.getRPCData().isCPPF)
201 int sz =
x.getRPCData().strip_hi -
x.getRPCData().strip_low + 1;
204 int tp_station = tp_detId.
station();
205 int tp_ring = tp_detId.
ring();
206 const bool is_irpc = (tp_station == 3 || tp_station == 4) && (tp_ring == 1);
213 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_it = selected_rpc_map.begin();
214 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_end = selected_rpc_map.end();
216 for (; map_tp_it != map_tp_end; ++map_tp_it) {
217 int selected = map_tp_it->first;
222 if (tmp_primitives.size() > 2 && tmp_primitives.at(0).getRPCData().isCPPF) {
223 edm::LogWarning(
"L1T") <<
"\n******************* EMTF EMULATOR: SUPER-BIZZARE CASE *******************";
224 edm::LogWarning(
"L1T") <<
"Found " << tmp_primitives.size() <<
" CPPF digis in the same chamber";
225 for (
const auto&
tp : tmp_primitives)
227 edm::LogWarning(
"L1T") <<
"************************* ONLY KEEP FIRST TWO *************************\n\n";
230 if ((selected % 10) == 8 || (selected % 10) == 9) {
232 if (tmp_primitives.size() > 4)
233 tmp_primitives.erase(tmp_primitives.begin() + 4, tmp_primitives.end());
236 if (tmp_primitives.size() > 2)
237 tmp_primitives.erase(tmp_primitives.begin() + 2, tmp_primitives.end());
241 tmp_primitives.erase(std::remove_if(tmp_primitives.begin(), tmp_primitives.end(), cluster_size_cut),
242 tmp_primitives.end());
248 bool map_rpc_to_csc =
true;
249 if (map_rpc_to_csc) {
250 std::map<int, TriggerPrimitiveCollection> tmp_selected_rpc_map;
252 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_it = selected_rpc_map.begin();
253 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_end = selected_rpc_map.end();
255 for (; map_tp_it != map_tp_end; ++map_tp_it) {
256 int selected = map_tp_it->first;
259 int rpc_sub = selected / 10;
260 int rpc_chm = selected % 10;
267 if (0 <= rpc_sub && rpc_sub < 3) {
269 pc_chamber = 3 + rpc_sub;
270 }
else if (3 <= rpc_sub && rpc_sub < 6) {
272 pc_chamber = 3 + (rpc_sub - 3);
274 }
else if (rpc_chm == 6) {
275 if (0 <= rpc_sub && rpc_sub < 3) {
277 pc_chamber = 6 + rpc_sub;
278 }
else if (3 <= rpc_sub && rpc_sub < 6) {
280 pc_chamber = 6 + (rpc_sub - 3);
282 }
else if (rpc_chm == 1 || rpc_chm == 7) {
284 pc_chamber = 3 + rpc_sub;
285 }
else if (2 <= rpc_chm && rpc_chm <= 3) {
287 pc_chamber = 3 + rpc_sub;
288 }
else if (4 <= rpc_chm && rpc_chm <= 5) {
290 pc_chamber = 3 + rpc_sub;
291 }
else if (rpc_chm == 8) {
293 pc_chamber = rpc_sub;
294 }
else if (rpc_chm == 9) {
296 pc_chamber = rpc_sub;
303 }
else if (rpc_chm == 6) {
305 }
else if (rpc_chm == 1 || rpc_chm == 7) {
307 }
else if (2 <= rpc_chm && rpc_chm <= 3) {
309 }
else if (4 <= rpc_chm && rpc_chm <= 5) {
311 }
else if (rpc_chm == 8) {
313 }
else if (rpc_chm == 9) {
320 selected = (pc_station * 9) + pc_chamber;
322 bool ignore_this_rpc_chm =
false;
323 if (rpc_chm == 3 || rpc_chm == 5) {
326 if (tmp_selected_rpc_map.find(selected) != tmp_selected_rpc_map.end())
327 ignore_this_rpc_chm =
true;
330 if (rpc_chm == 6 || rpc_chm == 7) {
331 ignore_this_rpc_chm =
true;
334 if (rpc_chm == 8 || rpc_chm == 9) {
335 ignore_this_rpc_chm =
true;
338 if (ignore_this_rpc_chm) {
340 for (
auto&&
tp : tmp_primitives) {
341 tp.accessRPCData().valid = 0;
346 if (tmp_selected_rpc_map.find(selected) == tmp_selected_rpc_map.end()) {
347 tmp_selected_rpc_map[selected] = tmp_primitives;
349 tmp_selected_rpc_map[selected].insert(
350 tmp_selected_rpc_map[selected].
end(), tmp_primitives.begin(), tmp_primitives.end());
354 std::swap(selected_rpc_map, tmp_selected_rpc_map);
363 std::map<int, TriggerPrimitiveCollection>& selected_gem_map)
const {
364 TriggerPrimitiveCollection::const_iterator tp_it = muon_primitives.begin();
365 TriggerPrimitiveCollection::const_iterator tp_end = muon_primitives.end();
367 for (; tp_it != tp_end; ++tp_it) {
370 if (selected_gem >= 0) {
372 selected_gem_map[selected_gem].push_back(*tp_it);
377 bool apply_truncation =
true;
378 if (apply_truncation) {
382 int sz =
x.getGEMData().pad_hi -
x.getGEMData().pad_low + 1;
387 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_it = selected_gem_map.begin();
388 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_end = selected_gem_map.end();
390 for (; map_tp_it != map_tp_end; ++map_tp_it) {
395 tmp_primitives.erase(std::remove_if(tmp_primitives.begin(), tmp_primitives.end(), cluster_size_cut),
396 tmp_primitives.end());
399 if (tmp_primitives.size() > 8)
400 tmp_primitives.erase(tmp_primitives.begin() + 8, tmp_primitives.end());
410 std::map<int, TriggerPrimitiveCollection>& selected_me0_map)
const {
411 TriggerPrimitiveCollection::const_iterator tp_it = muon_primitives.begin();
412 TriggerPrimitiveCollection::const_iterator tp_end = muon_primitives.end();
414 for (; tp_it != tp_end; ++tp_it) {
417 if (selected_me0 >= 0) {
419 selected_me0_map[selected_me0].push_back(*tp_it);
424 bool apply_truncation =
true;
425 if (apply_truncation) {
426 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_it = selected_me0_map.begin();
427 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_end = selected_me0_map.end();
429 for (; map_tp_it != map_tp_end; ++map_tp_it) {
434 if (tmp_primitives.size() > 20)
435 tmp_primitives.erase(tmp_primitives.begin() + 20, tmp_primitives.end());
445 std::map<int, TriggerPrimitiveCollection>& selected_dt_map)
const {
446 TriggerPrimitiveCollection::const_iterator tp_it = muon_primitives.begin();
447 TriggerPrimitiveCollection::const_iterator tp_end = muon_primitives.end();
449 for (; tp_it != tp_end; ++tp_it) {
452 if (selected_dt >= 0) {
454 selected_dt_map[selected_dt].push_back(*tp_it);
460 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_it = selected_dt_map.begin();
461 std::map<int, TriggerPrimitiveCollection>::iterator map_tp_end = selected_dt_map.end();
463 for (; map_tp_it != map_tp_end; ++map_tp_it) {
469 if (tmp_primitives.size() == 2) {
470 if ((tmp_primitives.at(0).getStrip() != tmp_primitives.at(1).getStrip()) &&
471 (tmp_primitives.at(0).getWire() != tmp_primitives.at(1).getWire())) {
479 tmp_primitives.insert(tmp_primitives.begin() + 1, tp1);
480 tmp_primitives.insert(tmp_primitives.begin() + 2, tp0);
508 const std::map<int, TriggerPrimitiveCollection>& selected_csc_map,
509 const std::map<int, TriggerPrimitiveCollection>& selected_rpc_map,
510 const std::map<int, TriggerPrimitiveCollection>& selected_gem_map,
511 const std::map<int, TriggerPrimitiveCollection>& selected_me0_map,
512 std::map<int, TriggerPrimitiveCollection>& selected_prim_map)
const {
514 std::map<int, TriggerPrimitiveCollection>::const_iterator map_tp_it = selected_csc_map.begin();
515 std::map<int, TriggerPrimitiveCollection>::const_iterator map_tp_end = selected_csc_map.end();
517 for (; map_tp_it != map_tp_end; ++map_tp_it) {
518 int selected_csc = map_tp_it->first;
523 selected_prim_map[selected_csc] = csc_primitives;
527 map_tp_it = selected_gem_map.begin();
528 map_tp_end = selected_gem_map.end();
530 for (; map_tp_it != map_tp_end; ++map_tp_it) {
531 int selected_gem = map_tp_it->first;
533 if (gem_primitives.empty())
537 bool found = (selected_prim_map.find(selected_gem) != selected_prim_map.end());
540 selected_prim_map[selected_gem] = gem_primitives;
548 map_tp_it = selected_rpc_map.begin();
549 map_tp_end = selected_rpc_map.end();
551 for (; map_tp_it != map_tp_end; ++map_tp_it) {
552 int selected_rpc = map_tp_it->first;
554 if (rpc_primitives.empty())
558 bool found = (selected_prim_map.find(selected_rpc) != selected_prim_map.end());
565 for (
const auto&
tp : rpc_primitives) {
566 if (
tp.getRPCData().valid != 0) {
567 tmp_rpc_primitives.push_back(
tp);
572 selected_prim_map[selected_rpc] = tmp_rpc_primitives;
587 const std::map<int, TriggerPrimitiveCollection>& selected_csc_map,
588 const std::map<int, TriggerPrimitiveCollection>& selected_rpc_map,
589 const std::map<int, TriggerPrimitiveCollection>& selected_gem_map,
590 const std::map<int, TriggerPrimitiveCollection>& selected_me0_map,
591 std::map<int, TriggerPrimitiveCollection>& selected_prim_map)
const {
593 merge_map_into_map(selected_csc_map, selected_prim_map);
596 merge_map_into_map(selected_me0_map, selected_prim_map);
599 merge_map_into_map(selected_gem_map, selected_prim_map);
602 merge_map_into_map(selected_rpc_map, selected_prim_map);
605 merge_map_into_map(selected_dt_map, selected_prim_map);
617 int tp_endcap = tp_detId.
endcap();
619 int tp_station = tp_detId.
station();
620 int tp_ring = tp_detId.
ring();
621 int tp_chamber = tp_detId.
chamber();
623 int tp_bx = tp_data.bx;
624 int tp_csc_ID = tp_data.cscID;
643 if (!(tp_data.strip < max_strip)) {
644 edm::LogWarning(
"L1T") <<
"EMTF CSC format error in station " << tp_station <<
", ring " << tp_ring
645 <<
": tp_data.strip = " << tp_data.strip <<
" (max = " << max_strip - 1 <<
")";
648 if (!(tp_data.keywire < max_wire)) {
649 edm::LogWarning(
"L1T") <<
"EMTF CSC format error in station " << tp_station <<
", ring " << tp_ring
650 <<
": tp_data.keywire = " << tp_data.keywire <<
" (max = " << max_wire - 1 <<
")";
656 int tp_subsector = (tp_station != 1) ? 0 : ((tp_chamber % 6 > 2) ? 1 : 2);
659 selected =
get_index_csc(tp_endcap, tp_sector, tp_subsector, tp_station, tp_csc_ID, tp_bx);
669 int tp_endcap,
int tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID)
const {
670 auto get_neighbor = [](
int sector) {
return (sector == 1) ? 6 : sector - 1; };
673 if ((
endcap_ == tp_endcap) && (get_neighbor(
sector_) == tp_sector)) {
674 if (tp_station == 1) {
675 if ((tp_subsector == 2) && (tp_csc_ID == 3 || tp_csc_ID == 6 || tp_csc_ID == 9))
679 if (tp_csc_ID == 3 || tp_csc_ID == 9)
689 return (
bx_ == tp_bx);
694 int tp_endcap,
int tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID,
int tp_bx)
const {
697 bool is_native =
false;
698 bool is_neighbor =
false;
706 if (!is_native && !is_neighbor)
710 if (tp_station == 1) {
711 selected = (tp_subsector - 1) * 9 + (tp_csc_ID - 1);
713 selected = (tp_station)*9 + (tp_csc_ID - 1);
717 if (tp_station == 1) {
718 selected = (5) * 9 + (tp_csc_ID - 1) / 3;
720 selected = (5) * 9 + (tp_station)*2 - 1 + (tp_csc_ID - 1 < 3 ? 0 : 1);
736 int tp_region = tp_detId.
region();
737 int tp_endcap = (tp_region == -1) ? 2 : tp_region;
738 int tp_sector = tp_detId.
sector();
740 int tp_station = tp_detId.
station();
741 int tp_ring = tp_detId.
ring();
742 int tp_roll = tp_detId.
roll();
745 int tp_bx = tp_data.bx;
746 int tp_strip = tp_data.strip;
747 int tp_emtf_sect = tp_data.emtf_sector;
748 bool tp_CPPF = tp_data.isCPPF;
751 if (tp_CPPF && (tp_emtf_sect !=
sector_))
754 const bool is_irpc = (tp_station == 3 || tp_station == 4) && (tp_ring == 1);
760 emtf_assert(1 <= tp_subsector && tp_subsector <= 6);
762 emtf_assert((!is_irpc && 2 <= tp_ring && tp_ring <= 3) || (is_irpc && tp_ring == 1));
763 emtf_assert((!is_irpc && 1 <= tp_roll && tp_roll <= 3) || (is_irpc && 1 <= tp_roll && tp_roll <= 5));
765 emtf_assert((!is_irpc && (tp_CPPF || (1 <= tp_strip && tp_strip <= 32))) ||
766 (is_irpc && 1 <= tp_strip && tp_strip <= 96 * 2));
772 selected =
get_index_rpc(tp_endcap, tp_station, tp_ring, tp_sector, tp_subsector, tp_bx);
778 int tp_endcap,
int tp_station,
int tp_ring,
int tp_sector,
int tp_subsector)
const {
783 auto get_csc_sector = [](
int tp_station,
int tp_ring,
int tp_sector,
int tp_subsector) {
784 const bool is_irpc = (tp_station == 3 || tp_station == 4) && (tp_ring == 1);
787 int corr = (tp_subsector < 2) ? (tp_sector == 1 ? +5 : -1) : 0;
788 return tp_sector +
corr;
791 int corr = (tp_subsector < 3) ? (tp_sector == 1 ? +5 : -1) : 0;
792 return tp_sector +
corr;
795 return ((
endcap_ == tp_endcap) && (
sector_ == get_csc_sector(tp_station, tp_ring, tp_sector, tp_subsector)));
799 int tp_endcap,
int tp_station,
int tp_ring,
int tp_sector,
int tp_subsector)
const {
800 auto get_neighbor_subsector = [](
int tp_station,
int tp_ring) {
801 const bool is_irpc = (tp_station == 3 || tp_station == 4) && (tp_ring == 1);
811 (tp_subsector == get_neighbor_subsector(tp_station, tp_ring)));
816 return (
bx_ == tp_bx);
820 int tp_endcap,
int tp_station,
int tp_ring,
int tp_sector,
int tp_subsector,
int tp_bx)
const {
823 bool is_native =
false;
824 bool is_neighbor =
false;
826 if (
is_in_sector_rpc(tp_endcap, tp_station, tp_ring, tp_sector, tp_subsector)) {
832 if (!is_native && !is_neighbor)
848 const bool is_irpc = (tp_station == 3 || tp_station == 4) && (tp_ring == 1);
852 rpc_sub = ((tp_subsector + 3) % 6);
854 rpc_sub = ((tp_subsector + 1) % 3);
860 if (tp_station <= 2 && tp_ring == 2) {
861 rpc_chm = (tp_station - 1);
862 }
else if (tp_station >= 3 && tp_ring >= 2) {
863 rpc_chm = 2 + (tp_station - 3) * 2 + (tp_ring - 2);
864 }
else if (tp_station <= 2 && tp_ring == 3) {
865 rpc_chm = 6 + (tp_station - 1);
866 }
else if (tp_station >= 3 && tp_ring == 1) {
867 rpc_chm = 8 + (tp_station - 3);
870 selected = (rpc_sub * 10) + rpc_chm;
888 int tp_region = tp_detId.
region();
889 int tp_endcap = (tp_region == -1) ? 2 : tp_region;
890 int tp_station = tp_detId.
station();
891 int tp_ring = tp_detId.
ring();
892 int tp_roll = tp_detId.
roll();
893 int tp_layer = tp_detId.
layer();
894 int tp_chamber = tp_detId.
chamber();
896 int tp_bx = tp_data.bx;
897 int tp_pad = ((tp_data.pad_low + tp_data.pad_hi) / 2);
904 int tp_subsector = (tp_station != 1) ? 0 : ((tp_chamber % 6 > 2) ? 1 : 2);
915 emtf_assert((tp_station == 1 && 0 <= tp_pad && tp_pad <= 191) || (tp_station != 1));
916 emtf_assert((tp_station == 2 && 0 <= tp_pad && tp_pad <= 383) || (tp_station != 2));
920 selected =
get_index_gem(tp_endcap, tp_sector, tp_subsector, tp_station, tp_csc_ID, tp_bx);
931 int tp_endcap,
int tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID)
const {
938 return (
bx_ == tp_bx);
942 int tp_endcap,
int tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID,
int tp_bx)
const {
945 bool is_native =
false;
946 bool is_neighbor =
false;
954 if (!is_native && !is_neighbor)
958 if (tp_station == 1) {
959 selected = (tp_subsector - 1) * 3 + (tp_csc_ID - 1);
961 selected = 6 + (tp_csc_ID - 1);
965 if (tp_station == 1) {
987 int tp_region = tp_detId.
region();
988 int tp_endcap = (tp_region == -1) ? 2 : tp_region;
989 int tp_station = tp_detId.
station();
993 int tp_chamber = tp_detId.
chamber();
995 int tp_bx = tp_data.bx;
996 int tp_pad = tp_data.phiposition;
997 int tp_partition = tp_data.partition;
1003 int tp_subsector = 0;
1015 emtf_assert(0 <= tp_partition && tp_partition <= 15);
1019 selected =
get_index_me0(tp_endcap, tp_sector, tp_subsector, tp_station, tp_csc_ID, tp_pad, tp_bx);
1031 auto get_other_neighbor = [](
int sector) {
return (sector == 6) ? 1 : sector + 1; };
1033 bool add5deg =
false;
1034 bool sub5deg =
false;
1036 if ((
endcap_ == tp_endcap) && (get_other_neighbor(
sector_) == tp_sector)) {
1037 if (tp_csc_ID == 1 && tp_endcap == 1 && tp_pad >= (767 - 192)) {
1039 }
else if (tp_csc_ID == 1 && tp_endcap == 2 && tp_pad <= 191) {
1044 if (tp_csc_ID == 1 && tp_endcap == 1 && tp_pad >= (767 - 192)) {
1046 }
else if (tp_csc_ID == 1 && tp_endcap == 2 && tp_pad <= 191) {
1062 auto get_neighbor = [](
int sector) {
return (sector == 1) ? 6 : sector - 1; };
1064 bool add5deg =
false;
1065 bool sub5deg =
false;
1067 if ((
endcap_ == tp_endcap) && (get_neighbor(
sector_) == tp_sector)) {
1068 if (tp_csc_ID == 3 && tp_endcap == 1 && tp_pad >= (767 - 192)) {
1070 }
else if (tp_csc_ID == 3 && tp_endcap == 2 && tp_pad <= 191) {
1075 if (tp_csc_ID == 1 && tp_endcap == 1 && tp_pad >= (767 - 192)) {
1077 }
else if (tp_csc_ID == 1 && tp_endcap == 2 && tp_pad <= 191) {
1088 return (
bx_ == tp_bx);
1092 int tp_endcap,
int tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID,
int tp_pad,
int tp_bx)
const {
1095 bool is_native =
false;
1096 bool is_neighbor =
false;
1104 if (!is_native && !is_neighbor)
1108 selected = 9 + (tp_csc_ID - 1);
1125 int tp_wheel = tp_detId.
wheel();
1126 int tp_station = tp_detId.
station();
1127 int tp_sector = tp_detId.
sector();
1132 if (tp_station == 4) {
1133 if (tp_sector == 13)
1135 else if (tp_sector == 14)
1139 int tp_bx = tp_data.bx;
1140 int tp_phi = tp_data.radialAngle;
1147 int tp_endcap = (tp_wheel > 0) ? 1 : ((tp_wheel < 0) ? 2 : 0);
1150 int tp_subsector = 0;
1167 selected =
get_index_dt(tp_endcap, csc_tp_sector, tp_subsector, tp_station, tp_csc_ID, tp_bx);
1185 return (
bx_ == tp_bx);
1189 int tp_endcap,
int csc_tp_sector,
int tp_subsector,
int tp_station,
int tp_csc_ID,
int tp_bx)
const {
1192 bool is_native =
false;
1193 bool is_neighbor =
false;
1201 if (!is_native && !is_neighbor)
1205 selected = (tp_station - 1) * 2 + (tp_csc_ID - 6) / 3;
1207 selected = 8 + (tp_station - 1);