File indexing completed on 2024-04-06 12:20:54
0001 #ifndef L1TMuonEndCap_PrimitiveMatching_h
0002 #define L1TMuonEndCap_PrimitiveMatching_h
0003
0004 #include "L1Trigger/L1TMuonEndCap/interface/Common.h"
0005
0006 class PrimitiveMatching {
0007 public:
0008 typedef EMTFHitCollection::const_iterator hit_ptr_t;
0009 typedef std::pair<int, hit_ptr_t> hit_sort_pair_t;
0010
0011 void configure(int verbose,
0012 int endcap,
0013 int sector,
0014 int bx,
0015 bool fixZonePhi,
0016 bool useNewZones,
0017 bool bugSt2PhDiff,
0018 bool bugME11Dupes);
0019
0020 void process(const std::deque<EMTFHitCollection>& extended_conv_hits,
0021 const emtf::zone_array<EMTFRoadCollection>& zone_roads,
0022 emtf::zone_array<EMTFTrackCollection>& zone_tracks) const;
0023
0024 void process_single_zone_station(int zone,
0025 int station,
0026 const EMTFRoadCollection& roads,
0027 const EMTFHitCollection& conv_hits,
0028 std::vector<hit_sort_pair_t>& phi_differences) const;
0029
0030 void insert_hits(hit_ptr_t conv_hit_ptr, const EMTFHitCollection& conv_hits, EMTFTrack& track) const;
0031
0032 private:
0033 int verbose_, endcap_, sector_, bx_;
0034
0035 bool fixZonePhi_, useNewZones_;
0036 bool bugSt2PhDiff_, bugME11Dupes_;
0037 };
0038
0039 #endif