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 
12 
13 #include <vector>
14 
15 namespace trklet {
16 
17  class Settings;
18  class Globals;
19  class MemoryBase;
20  class Stub;
21  class L1TStub;
22  class Tracklet;
23 
24  class MatchProcessor : public ProcessBase {
25  public:
26  MatchProcessor(std::string name, Settings const& settings, Globals* global, unsigned int iSector);
27 
28  ~MatchProcessor() override = default;
29 
30  void addOutput(MemoryBase* memory, std::string output) override;
31  void addInput(MemoryBase* memory, std::string input) override;
32 
33  void execute();
34 
35  bool matchCalculator(Tracklet* tracklet, const Stub* fpgastub);
36 
37  private:
38  int layer_;
39  int disk_;
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 
48  int fact_;
52 
53  double phioffset_;
54 
55  unsigned int phimatchcut_[N_SEED];
56  unsigned int zmatchcut_[N_SEED];
57 
58  unsigned int rphicutPS_[N_SEED];
59  unsigned int rphicut2S_[N_SEED];
60  unsigned int rcutPS_[N_SEED];
61  unsigned int rcut2S_[N_SEED];
62 
63  double phifact_;
64  double rzfact_;
65 
66  int nrbits_;
68 
70  std::vector<VMStubsMEMemory*> vmstubs_;
71  std::vector<TrackletProjectionsMemory*> inputprojs_;
72 
75 
76  //Memory for the full matches
77  std::vector<FullMatchMemory*> fullmatches_;
78 
79  //used in the layers
80  std::vector<bool> table_;
81 
82  //used in the disks
83  std::vector<bool> tablePS_;
84  std::vector<bool> table2S_;
85 
86  unsigned int nMatchEngines_;
87  std::vector<MatchEngineUnit> matchengines_;
88 
90  };
91 
92 }; // namespace trklet
93 #endif
trklet::AllStubsMemory
Definition: AllStubsMemory.h:16
input
static const std::string input
Definition: EdmProvDump.cc:48
trklet::MatchProcessor::vmstubs_
std::vector< VMStubsMEMemory * > vmstubs_
Definition: MatchProcessor.h:70
trklet::MatchProcessor::MatchProcessor
MatchProcessor(std::string name, Settings const &settings, Globals *global, unsigned int iSector)
Definition: MatchProcessor.cc:14
AllStubsMemory.h
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
trklet::MatchProcessor::ialphafactouter_
int ialphafactouter_[N_DSS_MOD *2]
Definition: MatchProcessor.h:74
trklet::MatchProcessor::zmatchcut_
unsigned int zmatchcut_[N_SEED]
Definition: MatchProcessor.h:56
trklet::Settings
Definition: Settings.h:26
trklet::MatchProcessor
Definition: MatchProcessor.h:24
trklet::MatchProcessor::rzfact_
double rzfact_
Definition: MatchProcessor.h:64
FullMatchMemory.h
trklet::Globals
Definition: Globals.h:32
trklet::MatchProcessor::addInput
void addInput(MemoryBase *memory, std::string input) override
Definition: MatchProcessor.cc:182
trklet::Tracklet
Definition: Tracklet.h:28
TrackletProjectionsMemory.h
trklet::MatchProcessor::icorzshift_
int icorzshift_
Definition: MatchProcessor.h:50
trklet::MatchProcessor::fullmatches_
std::vector< FullMatchMemory * > fullmatches_
Definition: MatchProcessor.h:77
CircularBuffer.h
trklet::MatchProcessor::barrel_
bool barrel_
Definition: MatchProcessor.h:40
trklet::Stub
Definition: Stub.h:16
trklet::MatchProcessor::inputProjBuffer_
CircularBuffer< ProjectionTemp > inputProjBuffer_
Definition: MatchProcessor.h:89
trklet::MatchProcessor::inputprojs_
std::vector< TrackletProjectionsMemory * > inputprojs_
Definition: MatchProcessor.h:71
trklet::MatchProcessor::rcutPS_
unsigned int rcutPS_[N_SEED]
Definition: MatchProcessor.h:60
trklet::MatchProcessor::nvmbins_
int nvmbins_
Definition: MatchProcessor.h:46
trklet::MatchProcessor::rphicut2S_
unsigned int rphicut2S_[N_SEED]
Definition: MatchProcessor.h:59
trklet::MatchProcessor::matchCalculator
bool matchCalculator(Tracklet *tracklet, const Stub *fpgastub)
Definition: MatchProcessor.cc:383
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::MatchProcessor::disk_
int disk_
Definition: MatchProcessor.h:39
trklet::MatchProcessor::rphicutPS_
unsigned int rphicutPS_[N_SEED]
Definition: MatchProcessor.h:58
trklet::N_SEED
constexpr unsigned int N_SEED
Definition: Settings.h:22
VMStubsMEMemory.h
trklet::MatchProcessor::ialphafactinner_
int ialphafactinner_[N_DSS_MOD *2]
Definition: MatchProcessor.h:73
trklet::MatchProcessor::rcut2S_
unsigned int rcut2S_[N_SEED]
Definition: MatchProcessor.h:61
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet::N_DSS_MOD
constexpr unsigned int N_DSS_MOD
Definition: Settings.h:24
trklet::CircularBuffer
Definition: CircularBuffer.h:10
trklet::MatchProcessor::tablePS_
std::vector< bool > tablePS_
Definition: MatchProcessor.h:83
ProjectionTemp.h
trklet::MatchProcessor::nMatchEngines_
unsigned int nMatchEngines_
Definition: MatchProcessor.h:86
trklet::MatchProcessor::icorrshift_
int icorrshift_
Definition: MatchProcessor.h:49
MatchEngineUnit.h
trklet::MatchProcessor::phioffset_
double phioffset_
Definition: MatchProcessor.h:53
trklet::MatchProcessor::table2S_
std::vector< bool > table2S_
Definition: MatchProcessor.h:84
trklet
Definition: AllProjectionsMemory.h:9
ProcessBase.h
trklet::ProcessBase
Definition: ProcessBase.h:12
trklet::MatchProcessor::table_
std::vector< bool > table_
Definition: MatchProcessor.h:80
mps_setup.memory
memory
Definition: mps_setup.py:156
trklet::MatchProcessor::allstubs_
AllStubsMemory * allstubs_
Definition: MatchProcessor.h:69
trklet::MatchProcessor::nphiderbits_
int nphiderbits_
Definition: MatchProcessor.h:67
trklet::MatchProcessor::layer_
int layer_
Definition: MatchProcessor.h:38
trklet::MatchProcessor::phi0shift_
int phi0shift_
Definition: MatchProcessor.h:51
trklet::MatchProcessor::fact_
int fact_
Definition: MatchProcessor.h:48
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::MatchProcessor::phiregion_
unsigned int phiregion_
Definition: MatchProcessor.h:42
trklet::MatchProcessor::addOutput
void addOutput(MemoryBase *memory, std::string output) override
Definition: MatchProcessor.cc:165
trklet::MatchProcessor::execute
void execute()
Definition: MatchProcessor.cc:208
trklet::MatchProcessor::phimatchcut_
unsigned int phimatchcut_[N_SEED]
Definition: MatchProcessor.h:55
trklet::MatchProcessor::nvm_
int nvm_
Definition: MatchProcessor.h:44
trklet::MatchProcessor::nrbits_
int nrbits_
Definition: MatchProcessor.h:66
trklet::MatchProcessor::matchengines_
std::vector< MatchEngineUnit > matchengines_
Definition: MatchProcessor.h:87
trklet::MatchProcessor::~MatchProcessor
~MatchProcessor() override=default
trklet::MatchProcessor::nvmbits_
int nvmbits_
Definition: MatchProcessor.h:45
trklet::MatchProcessor::phifact_
double phifact_
Definition: MatchProcessor.h:63