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