CMS 3D CMS Logo

SectorProcessor.h
Go to the documentation of this file.
1 #ifndef L1TMuonEndCap_SectorProcessor_h
2 #define L1TMuonEndCap_SectorProcessor_h
3 
4 #include <deque>
5 #include <map>
6 #include <string>
7 #include <vector>
8 
10 
11 //#include "L1Trigger/L1TMuonEndCap/interface/GeometryTranslator.h"
13 
16 
25 
26 
28 public:
29  explicit SectorProcessor();
31 
32  typedef unsigned long long EventNumber_t;
34 
35  void configure(
36  const GeometryTranslator* tp_geom,
37  const ConditionHelper* cond,
38  const SectorProcessorLUT* lut,
39  PtAssignmentEngine** pt_assign_engine,
40  int verbose, int endcap, int sector,
41  int minBX, int maxBX, int bxWindow, int bxShiftCSC, int bxShiftRPC, int bxShiftGEM,
42  const std::vector<int>& zoneBoundaries, int zoneOverlap,
43  bool includeNeighbor, bool duplicateTheta, bool fixZonePhi, bool useNewZones, bool fixME11Edges,
44  const std::vector<std::string>& pattDefinitions, const std::vector<std::string>& symPattDefinitions, bool useSymPatterns,
45  int thetaWindow, int thetaWindowRPC, bool useSingleHits, bool bugSt2PhDiff, bool bugME11Dupes,
46  int maxRoadsPerZone, int maxTracks, bool useSecondEarliest, bool bugSameSectorPt0,
47  int ptLUTVersion, bool readPtLUTFile, bool fixMode15HighPt, bool bug9BitDPhi, bool bugMode7CLCT, bool bugNegPt, bool bugGMTPhi, bool promoteMode7
48  );
49 
50  void set_pt_lut_version(unsigned pt_lut_version);
51  void configure_by_fw_version(unsigned fw_version);
52 
53  void process(
54  // Input
55  EventNumber_t ievent,
56  const TriggerPrimitiveCollection& muon_primitives,
57  // Output
58  EMTFHitCollection& out_hits,
59  EMTFTrackCollection& out_tracks
60  ) const;
61 
62  void process_single_bx(
63  // Input
64  int bx,
65  const TriggerPrimitiveCollection& muon_primitives,
66  // Output
67  EMTFHitCollection& out_hits,
68  EMTFTrackCollection& out_tracks,
69  // Intermediate objects
70  std::deque<EMTFHitCollection>& extended_conv_hits,
71  std::deque<EMTFTrackCollection>& extended_best_track_cands,
72  std::map<pattern_ref_t, int>& patt_lifetime_map
73  ) const;
74 
75 private:
77 
79 
81 
83 
85 
87 
88  // For primitive conversion
89  std::vector<int> zoneBoundaries_;
92 
93  // For pattern recognition
94  std::vector<std::string> pattDefinitions_, symPattDefinitions_;
96 
97  // For track building
101 
102  // For ghost cancellation
106 
107  // For pt assignment
111 };
112 
113 #endif
void configure_by_fw_version(unsigned fw_version)
std::vector< std::string > pattDefinitions_
void process_single_bx(int bx, const TriggerPrimitiveCollection &muon_primitives, EMTFHitCollection &out_hits, EMTFTrackCollection &out_tracks, std::deque< EMTFHitCollection > &extended_conv_hits, std::deque< EMTFTrackCollection > &extended_best_track_cands, std::map< pattern_ref_t, int > &patt_lifetime_map) const
std::vector< int > zoneBoundaries_
const ConditionHelper * cond_
unsigned long long EventNumber_t
std::vector< std::string > symPattDefinitions_
const GeometryTranslator * tp_geom_
l1t::EMTFTrackCollection EMTFTrackCollection
Definition: Common.h:25
const SectorProcessorLUT * lut_
void set_pt_lut_version(unsigned pt_lut_version)
l1t::EMTFHitCollection EMTFHitCollection
Definition: Common.h:21
PtAssignmentEngine ** pt_assign_engine_
void process(EventNumber_t ievent, const TriggerPrimitiveCollection &muon_primitives, EMTFHitCollection &out_hits, EMTFTrackCollection &out_tracks) const
void configure(const GeometryTranslator *tp_geom, const ConditionHelper *cond, const SectorProcessorLUT *lut, PtAssignmentEngine **pt_assign_engine, int verbose, int endcap, int sector, int minBX, int maxBX, int bxWindow, int bxShiftCSC, int bxShiftRPC, int bxShiftGEM, const std::vector< int > &zoneBoundaries, int zoneOverlap, bool includeNeighbor, bool duplicateTheta, bool fixZonePhi, bool useNewZones, bool fixME11Edges, const std::vector< std::string > &pattDefinitions, const std::vector< std::string > &symPattDefinitions, bool useSymPatterns, int thetaWindow, int thetaWindowRPC, bool useSingleHits, bool bugSt2PhDiff, bool bugME11Dupes, int maxRoadsPerZone, int maxTracks, bool useSecondEarliest, bool bugSameSectorPt0, int ptLUTVersion, bool readPtLUTFile, bool fixMode15HighPt, bool bug9BitDPhi, bool bugMode7CLCT, bool bugNegPt, bool bugGMTPhi, bool promoteMode7)
L1TMuon::TriggerPrimitiveCollection TriggerPrimitiveCollection
Definition: Common.h:30
Definition: plugin.cc:24
PatternRecognition::pattern_ref_t pattern_ref_t
std::array< int, 3 > pattern_ref_t