CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
61 
62  int nrbits_;
64 
66  std::vector<VMStubsMEMemory*> vmstubs_;
67  std::vector<TrackletProjectionsMemory*> inputprojs_;
68 
71 
72  //Memory for the full matches
73  std::vector<FullMatchMemory*> fullmatches_;
74 
75  //disk projectionrinv table
77 
78  //LUT for bend consistency
80 
81  double phimin_;
82 
83  unsigned int nMatchEngines_;
84  std::vector<MatchEngineUnit> matchengines_;
85 
87  };
88 
89 }; // namespace trklet
90 #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:27
static std::string const input
Definition: EdmProvDump.cc:47
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]