File indexing completed on 2024-04-06 12:20:55
0001 #ifndef L1TMuonEndCap_SectorProcessor_h
0002 #define L1TMuonEndCap_SectorProcessor_h
0003
0004 #include <deque>
0005 #include <map>
0006 #include <string>
0007 #include <vector>
0008
0009 #include "DataFormats/Provenance/interface/EventID.h"
0010
0011 #include "L1Trigger/L1TMuonEndCap/interface/Common.h"
0012 #include "L1Trigger/L1TMuonEndCap/interface/EMTFSetup.h"
0013
0014 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveSelection.h"
0015 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveConversion.h"
0016 #include "L1Trigger/L1TMuonEndCap/interface/PatternRecognition.h"
0017 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveMatching.h"
0018 #include "L1Trigger/L1TMuonEndCap/interface/AngleCalculation.h"
0019 #include "L1Trigger/L1TMuonEndCap/interface/BestTrackSelection.h"
0020 #include "L1Trigger/L1TMuonEndCap/interface/PtAssignment.h"
0021 #include "L1Trigger/L1TMuonEndCap/interface/SingleHitTrack.h"
0022
0023 class SectorProcessor {
0024 public:
0025 explicit SectorProcessor();
0026 ~SectorProcessor();
0027
0028 typedef PatternRecognition::pattern_ref_t pattern_ref_t;
0029
0030 void configure(const EMTFSetup* setup, int verbose, int endcap, int sector);
0031
0032 void process(
0033
0034 const edm::EventID& event_id,
0035 const TriggerPrimitiveCollection& muon_primitives,
0036
0037 EMTFHitCollection& out_hits,
0038 EMTFTrackCollection& out_tracks) const;
0039
0040 void process_single_bx(
0041
0042 int bx,
0043 const TriggerPrimitiveCollection& muon_primitives,
0044
0045 EMTFHitCollection& out_hits,
0046 EMTFTrackCollection& out_tracks,
0047
0048 std::deque<EMTFHitCollection>& extended_conv_hits,
0049 std::deque<EMTFTrackCollection>& extended_best_track_cands,
0050 std::map<pattern_ref_t, int>& patt_lifetime_map) const;
0051
0052 private:
0053 const EMTFSetup* setup_;
0054
0055 int verbose_, endcap_, sector_;
0056 };
0057
0058 #endif