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  unsigned int layerdisk_;
41  bool barrel_;
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 
49  int fact_;
53 
54  double phioffset_;
55 
56  unsigned int phimatchcut_[N_SEED];
57  unsigned int zmatchcut_[N_SEED];
58 
59  unsigned int rphicutPS_[N_SEED];
60  unsigned int rphicut2S_[N_SEED];
61  unsigned int rcutPS_[N_SEED];
62  unsigned int rcut2S_[N_SEED];
63 
64  double phifact_;
65  double rzfact_;
66 
67  int nrbits_;
69 
71  std::vector<VMStubsMEMemory*> vmstubs_;
72  std::vector<TrackletProjectionsMemory*> inputprojs_;
73 
76 
77  //Memory for the full matches
78  std::vector<FullMatchMemory*> fullmatches_;
79 
80  //used in the layers
81  std::vector<bool> table_;
82 
83  //used in the disks
84  std::vector<bool> tablePS_;
85  std::vector<bool> table2S_;
86 
87  unsigned int nMatchEngines_;
88  std::vector<MatchEngineUnit> matchengines_;
89 
91  };
92 
93 }; // namespace trklet
94 #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:71
trklet::MatchProcessor::MatchProcessor
MatchProcessor(std::string name, Settings const &settings, Globals *global, unsigned int iSector)
Definition: MatchProcessor.cc:16
AllStubsMemory.h
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
trklet::MatchProcessor::ialphafactouter_
int ialphafactouter_[N_DSS_MOD *2]
Definition: MatchProcessor.h:75
memory
Definition: HGCRecHitSoA.h:20
trklet::MatchProcessor::zmatchcut_
unsigned int zmatchcut_[N_SEED]
Definition: MatchProcessor.h:57
trklet::Settings
Definition: Settings.h:31
trklet::MatchProcessor
Definition: MatchProcessor.h:24
trklet::MatchProcessor::rzfact_
double rzfact_
Definition: MatchProcessor.h:65
FullMatchMemory.h
trklet::Globals
Definition: Globals.h:32
trklet::MatchProcessor::addInput
void addInput(MemoryBase *memory, std::string input) override
Definition: MatchProcessor.cc:208
trklet::Tracklet
Definition: Tracklet.h:28
TrackletProjectionsMemory.h
trklet::MatchProcessor::icorzshift_
int icorzshift_
Definition: MatchProcessor.h:51
trklet::MatchProcessor::fullmatches_
std::vector< FullMatchMemory * > fullmatches_
Definition: MatchProcessor.h:78
CircularBuffer.h
trklet::MatchProcessor::barrel_
bool barrel_
Definition: MatchProcessor.h:41
trklet::MatchProcessor::layerdisk_
unsigned int layerdisk_
Definition: MatchProcessor.h:40
trklet::Stub
Definition: Stub.h:16
trklet::MatchProcessor::inputProjBuffer_
CircularBuffer< ProjectionTemp > inputProjBuffer_
Definition: MatchProcessor.h:90
trklet::MatchProcessor::inputprojs_
std::vector< TrackletProjectionsMemory * > inputprojs_
Definition: MatchProcessor.h:72
trklet::MatchProcessor::rcutPS_
unsigned int rcutPS_[N_SEED]
Definition: MatchProcessor.h:61
trklet::MatchProcessor::nvmbins_
int nvmbins_
Definition: MatchProcessor.h:47
trklet::MatchProcessor::rphicut2S_
unsigned int rphicut2S_[N_SEED]
Definition: MatchProcessor.h:60
trklet::MatchProcessor::matchCalculator
bool matchCalculator(Tracklet *tracklet, const Stub *fpgastub)
Definition: MatchProcessor.cc:455
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:59
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:74
trklet::MatchProcessor::rcut2S_
unsigned int rcut2S_[N_SEED]
Definition: MatchProcessor.h:62
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:84
ProjectionTemp.h
trklet::MatchProcessor::nMatchEngines_
unsigned int nMatchEngines_
Definition: MatchProcessor.h:87
trklet::MatchProcessor::icorrshift_
int icorrshift_
Definition: MatchProcessor.h:50
MatchEngineUnit.h
trklet::MatchProcessor::phioffset_
double phioffset_
Definition: MatchProcessor.h:54
trklet::MatchProcessor::table2S_
std::vector< bool > table2S_
Definition: MatchProcessor.h:85
trklet
Definition: AllProjectionsMemory.h:9
ProcessBase.h
trklet::ProcessBase
Definition: ProcessBase.h:12
trklet::MatchProcessor::table_
std::vector< bool > table_
Definition: MatchProcessor.h:81
trklet::MatchProcessor::allstubs_
AllStubsMemory * allstubs_
Definition: MatchProcessor.h:70
trklet::MatchProcessor::nphiderbits_
int nphiderbits_
Definition: MatchProcessor.h:68
trklet::MatchProcessor::layer_
int layer_
Definition: MatchProcessor.h:38
trklet::MatchProcessor::phi0shift_
int phi0shift_
Definition: MatchProcessor.h:52
trklet::MatchProcessor::fact_
int fact_
Definition: MatchProcessor.h:49
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::MatchProcessor::phiregion_
unsigned int phiregion_
Definition: MatchProcessor.h:43
trklet::MatchProcessor::addOutput
void addOutput(MemoryBase *memory, std::string output) override
Definition: MatchProcessor.cc:191
trklet::MatchProcessor::execute
void execute()
Definition: MatchProcessor.cc:234
trklet::MatchProcessor::phimatchcut_
unsigned int phimatchcut_[N_SEED]
Definition: MatchProcessor.h:56
trklet::MatchProcessor::nvm_
int nvm_
Definition: MatchProcessor.h:45
trklet::MatchProcessor::nrbits_
int nrbits_
Definition: MatchProcessor.h:67
trklet::MatchProcessor::matchengines_
std::vector< MatchEngineUnit > matchengines_
Definition: MatchProcessor.h:88
trklet::MatchProcessor::~MatchProcessor
~MatchProcessor() override=default
trklet::MatchProcessor::nvmbits_
int nvmbits_
Definition: MatchProcessor.h:46
trklet::MatchProcessor::phifact_
double phifact_
Definition: MatchProcessor.h:64