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 
18 
27 
28 
30 public:
31  explicit SectorProcessor();
33 
34  typedef unsigned long long EventNumber_t;
36 
37  void configure(
38  const GeometryTranslator* tp_geom,
39  const ConditionHelper* cond,
40  const SectorProcessorLUT* lut,
41  PtAssignmentEngine* pt_assign_engine,
42  int verbose, int endcap, int sector,
43  int minBX, int maxBX, int bxWindow, int bxShiftCSC, int bxShiftRPC, int bxShiftGEM,
44  std::string era,
45  const std::vector<int>& zoneBoundaries, int zoneOverlap,
46  bool includeNeighbor, bool duplicateTheta, bool fixZonePhi, bool useNewZones, bool fixME11Edges,
47  const std::vector<std::string>& pattDefinitions, const std::vector<std::string>& symPattDefinitions, bool useSymPatterns,
48  int thetaWindow, int thetaWindowZone0, bool useRPC, bool useSingleHits, bool bugSt2PhDiff, bool bugME11Dupes, bool bugAmbigThetaWin, bool twoStationSameBX,
49  int maxRoadsPerZone, int maxTracks, bool useSecondEarliest, bool bugSameSectorPt0,
50  bool readPtLUTFile, bool fixMode15HighPt, bool bug9BitDPhi, bool bugMode7CLCT, bool bugNegPt, bool bugGMTPhi, bool promoteMode7, int modeQualVer
51  );
52 
53  void configure_by_fw_version(unsigned fw_version);
54 
55  void process(
56  // Input
57  EventNumber_t ievent,
58  const TriggerPrimitiveCollection& muon_primitives,
59  // Output
60  EMTFHitCollection& out_hits,
61  EMTFTrackCollection& out_tracks
62  ) const;
63 
64  void process_single_bx(
65  // Input
66  int bx,
67  const TriggerPrimitiveCollection& muon_primitives,
68  // Output
69  EMTFHitCollection& out_hits,
70  EMTFTrackCollection& out_tracks,
71  // Intermediate objects
72  std::deque<EMTFHitCollection>& extended_conv_hits,
73  std::deque<EMTFTrackCollection>& extended_best_track_cands,
74  std::map<pattern_ref_t, int>& patt_lifetime_map
75  ) const;
76 
77 private:
79 
81 
83 
85 
87 
89 
91 
92  // For primitive conversion
93  std::vector<int> zoneBoundaries_;
96 
97  // For pattern recognition
98  std::vector<std::string> pattDefinitions_, symPattDefinitions_;
100 
101  // For track building
105 
106  // For ghost cancellation
110 
111  // For pt assignment
115 };
116 
117 #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::string era_
std::vector< std::string > symPattDefinitions_
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, std::string era, 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 thetaWindowZone0, bool useRPC, bool useSingleHits, bool bugSt2PhDiff, bool bugME11Dupes, bool bugAmbigThetaWin, bool twoStationSameBX, int maxRoadsPerZone, int maxTracks, bool useSecondEarliest, bool bugSameSectorPt0, bool readPtLUTFile, bool fixMode15HighPt, bool bug9BitDPhi, bool bugMode7CLCT, bool bugNegPt, bool bugGMTPhi, bool promoteMode7, int modeQualVer)
const GeometryTranslator * tp_geom_
l1t::EMTFTrackCollection EMTFTrackCollection
Definition: Common.h:29
const SectorProcessorLUT * lut_
l1t::EMTFHitCollection EMTFHitCollection
Definition: Common.h:25
void process(EventNumber_t ievent, const TriggerPrimitiveCollection &muon_primitives, EMTFHitCollection &out_hits, EMTFTrackCollection &out_tracks) const
PtAssignmentEngine * pt_assign_engine_
L1TMuon::TriggerPrimitiveCollection TriggerPrimitiveCollection
Definition: Common.h:34
Definition: plugin.cc:24
PatternRecognition::pattern_ref_t pattern_ref_t
std::array< int, 3 > pattern_ref_t