CMS 3D CMS Logo

TrackletProcessor.h
Go to the documentation of this file.
1 // TrackletProcessor: this class is an evolved version, performing the tasks of the TrackletEngine+TrackletCalculator.
2 // It will combine TEs that feed into a TC to a single module.
3 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletProcessor_h
4 #define L1Trigger_TrackFindingTracklet_interface_TrackletProcessor_h
5 
10 
11 #include <vector>
12 #include <tuple>
13 #include <map>
14 
15 namespace trklet {
16 
17  class Settings;
18  class Globals;
19  class MemoryBase;
20  class AllStubsMemory;
21  class VMStubsTEMemory;
22 
24  public:
25  TrackletProcessor(std::string name, Settings const& settings, Globals* globals, unsigned int iSector);
26 
27  ~TrackletProcessor() override = default;
28 
30 
31  void addOutput(MemoryBase* memory, std::string output) override;
32 
33  void addInput(MemoryBase* memory, std::string input) override;
34 
35  void execute();
36 
37  void writeTETable();
38 
39  void buildLUT();
40 
41  private:
42  int iTC_;
43  int iAllStub_;
44 
46 
47  // The use of a std::tuple here is awkward and should be fixed. This code is slotted for a significant
48  // overhaul to allign with the HLS implementation. At that point the use fo the tuple should be
49  // eliminated
50  // istub imem start imem end imem
51  std::vector<std::tuple<CircularBuffer<TEData>, unsigned int, unsigned int, unsigned int, unsigned int> >
53 
54  std::vector<TrackletEngineUnit> teunits_;
55 
56  std::vector<AllStubsMemory*> innerallstubs_;
57  std::vector<AllStubsMemory*> outerallstubs_;
58 
59  std::map<unsigned int, std::vector<bool> > pttableinner_;
60  std::map<unsigned int, std::vector<bool> > pttableouter_;
61 
62  std::vector<bool> pttableinnernew_;
63  std::vector<bool> pttableouternew_;
64 
65  std::vector<std::vector<bool> > useregion_;
66 
69 
72 
73  unsigned int nbitszfinebintable_;
74  unsigned int nbitsrfinebintable_;
75 
76  unsigned int nbitsrzbin_;
77 
79  };
80 
81 }; // namespace trklet
82 #endif
input
static const std::string input
Definition: EdmProvDump.cc:48
trklet::VMRouterTable
Definition: VMRouterTable.h:16
trklet::TrackletProcessor::useregion_
std::vector< std::vector< bool > > useregion_
Definition: TrackletProcessor.h:65
trklet::TrackletProcessor::nbitszfinebintable_
unsigned int nbitszfinebintable_
Definition: TrackletProcessor.h:73
trklet::TrackletProcessor::TrackletProcessor
TrackletProcessor(std::string name, Settings const &settings, Globals *globals, unsigned int iSector)
Definition: TrackletProcessor.cc:19
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
memory
Definition: HGCRecHitSoA.h:20
VMRouterTable.h
trklet::TrackletProjectionsMemory
Definition: TrackletProjectionsMemory.h:15
trklet::Settings
Definition: Settings.h:31
trklet::TrackletProcessor::pttableouter_
std::map< unsigned int, std::vector< bool > > pttableouter_
Definition: TrackletProcessor.h:60
trklet::VMStubsTEMemory
Definition: VMStubsTEMemory.h:16
trklet::TrackletProcessor::vmrtable_
VMRouterTable vmrtable_
Definition: TrackletProcessor.h:78
trklet::TrackletProcessor::pttableinnernew_
std::vector< bool > pttableinnernew_
Definition: TrackletProcessor.h:62
trklet::TrackletProcessor::iAllStub_
int iAllStub_
Definition: TrackletProcessor.h:43
trklet::TrackletProcessor::teunits_
std::vector< TrackletEngineUnit > teunits_
Definition: TrackletProcessor.h:54
trklet::Globals
Definition: Globals.h:32
trklet::TrackletProcessor::pttableinner_
std::map< unsigned int, std::vector< bool > > pttableinner_
Definition: TrackletProcessor.h:59
trklet::TrackletProcessor::nbitsrzbin_
unsigned int nbitsrzbin_
Definition: TrackletProcessor.h:76
trklet::TrackletProcessor::innerallstubs_
std::vector< AllStubsMemory * > innerallstubs_
Definition: TrackletProcessor.h:56
CircularBuffer.h
trklet::TrackletProcessor::tedatabuffers_
std::vector< std::tuple< CircularBuffer< TEData >, unsigned int, unsigned int, unsigned int, unsigned int > > tedatabuffers_
Definition: TrackletProcessor.h:52
trklet::TrackletProcessor::outerphibits_
int outerphibits_
Definition: TrackletProcessor.h:71
TrackletCalculatorBase.h
trklet::TrackletCalculatorBase
Definition: TrackletCalculatorBase.h:18
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet::TrackletProcessor::~TrackletProcessor
~TrackletProcessor() override=default
trklet::TrackletProcessor::innerphibits_
int innerphibits_
Definition: TrackletProcessor.h:70
trklet::TrackletProcessor::nbitsfinephidiff_
int nbitsfinephidiff_
Definition: TrackletProcessor.h:68
createfilelist.int
int
Definition: createfilelist.py:10
trklet::TrackletProcessor::execute
void execute()
Definition: TrackletProcessor.cc:172
trklet::TrackletProcessor::writeTETable
void writeTETable()
Definition: TrackletProcessor.cc:400
trklet::TrackletProcessor::outerallstubs_
std::vector< AllStubsMemory * > outerallstubs_
Definition: TrackletProcessor.h:57
trklet
Definition: AllProjectionsMemory.h:9
trklet::TrackletProcessor::buildLUT
void buildLUT()
Definition: TrackletProcessor.cc:424
trklet::TrackletProcessor::addOutputProjection
void addOutputProjection(TrackletProjectionsMemory *&outputProj, MemoryBase *memory)
Definition: TrackletProcessor.cc:57
trklet::TrackletProcessor::pttableouternew_
std::vector< bool > pttableouternew_
Definition: TrackletProcessor.h:63
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::TrackletProcessor::iTC_
int iTC_
Definition: TrackletProcessor.h:42
TrackletEngineUnit.h
trklet::TrackletProcessor::nbitsrfinebintable_
unsigned int nbitsrfinebintable_
Definition: TrackletProcessor.h:74
trklet::TrackletProcessor::nbitsfinephi_
int nbitsfinephi_
Definition: TrackletProcessor.h:67
trklet::TrackletProcessor
Definition: TrackletProcessor.h:23
trklet::TrackletProcessor::addOutput
void addOutput(MemoryBase *memory, std::string output) override
Definition: TrackletProcessor.cc:62
trklet::TrackletProcessor::addInput
void addInput(MemoryBase *memory, std::string input) override
Definition: TrackletProcessor.cc:104
trklet::TrackletProcessor::outervmstubs_
VMStubsTEMemory * outervmstubs_
Definition: TrackletProcessor.h:45