15 if (conv_hits.empty())
28 for (
int sub_ID = 5; sub_ID >= 0; sub_ID--) {
29 int subsector = 1 + (sub_ID / 3);
30 int CSC_ID = 1 + (sub_ID % 3);
33 for (
const auto& conv_hits_it : conv_hits) {
35 if (conv_hits_it.Subsector() != subsector || conv_hits_it.CSC_ID() != CSC_ID)
39 if (conv_hits_it.Is_CSC() != 1)
43 if (conv_hits_it.Station() != 1 || (conv_hits_it.Ring() % 3) != 1)
47 if ((conv_hits_it.Endcap() == 1) != (
endcap_ == 1) || conv_hits_it.Sector() !=
sector_)
51 bool already_used =
false;
54 for (
const auto& best_tracks_it : best_tracks) {
56 if (best_tracks_it.Mode() < 8)
62 auto conv_hit_j = best_tracks_it.Hits().front();
64 if ((conv_hits_it.Subsystem() == conv_hit_j.Subsystem()) &&
65 (conv_hits_it.PC_station() == conv_hit_j.PC_station()) &&
66 (conv_hits_it.PC_chamber() == conv_hit_j.PC_chamber()) &&
67 ((conv_hits_it.Ring() % 3) == (conv_hit_j.Ring() % 3)) &&
68 (conv_hits_it.Strip() == conv_hit_j.Strip()) &&
70 (conv_hits_it.BX() == conv_hit_j.BX()) &&
true) {
81 int zone_code = conv_hits_it.Zone_code();
82 if (zone_code & 0b1000)
84 else if (zone_code & 0b0100)
86 else if (zone_code & 0b0010)
88 else if (zone_code & 0b0001)
115 new_trk.
set_eta(conv_hits_it.Eta());
121 one_hit_trks.push_back(new_trk);
123 if (
int(best_tracks.size()) +
int(one_hit_trks.size()) >=
maxTracks_)
127 if (!one_hit_trks.empty())
132 if (!one_hit_trks.empty())
137 best_tracks.insert(best_tracks.end(), one_hit_trks.begin(), one_hit_trks.end());
l1t::EMTFTrackCollection EMTFTrackCollection
void set_second_bx(int bits)
void set_sector(int bits)
void set_phi_fp(int bits)
void set_first_bx(int bits)
void set_ph_num(int bits)
void process(const EMTFHitCollection &conv_hits, EMTFTrackCollection &best_tracks) const
l1t::EMTFHitCollection EMTFHitCollection
void set_PtLUT(EMTFPtLUT bits)
void set_sector_idx(int bits)
static constexpr int verbose
void set_track_num(int bits)
void set_theta_fp(int bits)
void set_winner(int bits)
void set_theta(float val)
void set_endcap(int bits)
void push_Hit(const EMTFHit &hit)
void set_phi_loc(float val)
void configure(int verbose, int endcap, int sector, int bx, int maxTracks, bool useSingleHits)
void set_phi_glob(float val)
void set_mode_inv(int bits)