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 
42  unsigned int phiregion_;
43 
44  int nvm_; //VMs in sector
45  int nvmbits_; //# of bits for VMs in sector
46  int nvmbins_; //VMs in in phi region
47  int nrinv_; //# of bits for rinv
48 
49  int dzshift_;
52  int phishift_;
53 
56 
65 
67 
68  int nrbits_;
70 
71  //Number of r bits for the projection to use in LUT for disk
73 
75  std::vector<VMStubsMEMemory*> vmstubs_;
76  std::vector<TrackletProjectionsMemory*> inputprojs_;
77 
80 
81  //Memory for the full matches
82  std::vector<FullMatchMemory*> fullmatches_;
83 
84  //disk projectionrinv table
86 
87  //LUT for bend consistency
89 
90  double phimin_;
91 
92  unsigned int nMatchEngines_;
93  std::vector<MatchEngineUnit> matchengines_;
94 
101 
103  };
104 
105 }; // namespace trklet
106 #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_
std::vector< VMStubsMEMemory * > vmstubs_
AllStubsMemory * allstubs_
TrackletLUT zmatchcuttable_
int ialphafactouter_[N_DSS_MOD *2]