CMS 3D CMS Logo

MatchProcessor.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_MatchProcessor_h
2 #define L1Trigger_TrackFindingTracklet_interface_MatchProcessor_h
3 
13 
14 #include <vector>
15 
16 namespace trklet {
17 
18  class Settings;
19  class Globals;
20  class MemoryBase;
21  class Stub;
22  class L1TStub;
23  class Tracklet;
24 
25  class MatchProcessor : public ProcessBase {
26  public:
27  MatchProcessor(std::string name, Settings const& settings, Globals* global);
28 
29  ~MatchProcessor() override = default;
30 
31  void addOutput(MemoryBase* memory, std::string output) override;
32  void addInput(MemoryBase* memory, std::string input) override;
33 
34  void execute(unsigned int iSector, double phimin);
35 
36  bool matchCalculator(Tracklet* tracklet, const Stub* fpgastub, bool print, unsigned int istep);
37 
38  private:
39  unsigned int layerdisk_;
40  bool barrel_;
41  bool first_;
42 
43  unsigned int phiregion_;
44 
45  int nvm_; //VMs in sector
46  int nvmbits_; //# of bits for VMs in sector
47  int nvmbins_; //VMs in in phi region
48  int nrinv_; //# of bits for rinv
49 
50  int dzshift_;
53  int phishift_;
54 
57 
66 
68 
69  int nrbits_;
71 
72  //Number of r bits for the projection to use in LUT for disk
74 
76  std::vector<VMStubsMEMemory*> vmstubs_;
77  std::vector<TrackletProjectionsMemory*> inputprojs_;
78 
81 
82  //Memory for the full matches
83  std::vector<FullMatchMemory*> fullmatches_;
84 
85  //disk projectionrinv table
87 
88  //LUT for bend consistency
90 
91  double phimin_;
92 
93  unsigned int nMatchEngines_;
94  std::vector<MatchEngineUnit> matchengines_;
95 
102 
104  };
105 
106 }; // namespace trklet
107 #endif
MatchProcessor(std::string name, Settings const &settings, Globals *global)
void addInput(MemoryBase *memory, std::string input) override
std::vector< MatchEngineUnit > matchengines_
TrackletLUT phimatchcuttable_
std::vector< TrackletProjectionsMemory * > inputprojs_
constexpr unsigned int N_DSS_MOD
Definition: Settings.h:31
static std::string const input
Definition: EdmProvDump.cc:50
std::vector< FullMatchMemory * > fullmatches_
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
CircularBuffer< ProjectionTemp > inputProjBuffer_
TrackletLUT rphicutPStable_
bool matchCalculator(Tracklet *tracklet, const Stub *fpgastub, bool print, unsigned int istep)
TrackletLUT rphicut2Stable_
int ialphafactinner_[N_DSS_MOD *2]
void addOutput(MemoryBase *memory, std::string output) override
~MatchProcessor() override=default
void execute(unsigned int iSector, double phimin)
unsigned int nMatchEngines_
Definition: output.py:1
std::vector< VMStubsMEMemory * > vmstubs_
AllStubsMemory * allstubs_
TrackletLUT zmatchcuttable_
int ialphafactouter_[N_DSS_MOD *2]