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 AllInnerStubsMemory;
22  class VMStubsTEMemory;
23 
25  public:
26  TrackletProcessor(std::string name, Settings const& settings, Globals* globals);
27 
28  ~TrackletProcessor() override = default;
29 
31 
32  void addOutput(MemoryBase* memory, std::string output) override;
33 
34  void addInput(MemoryBase* memory, std::string input) override;
35 
36  void execute(unsigned int iSector, double phimin, double phimax);
37 
38  private:
39  int iTC_;
40  int iAllStub_;
41 
42  unsigned int maxStep_;
43 
45 
46  // istub imem start imem end imem
47  std::tuple<CircularBuffer<TEData>, unsigned int, unsigned int, unsigned int, unsigned int> tebuffer_;
48 
49  std::vector<TrackletEngineUnit> teunits_;
50 
51  std::vector<AllInnerStubsMemory*> innerallstubs_;
52  std::vector<AllStubsMemory*> outerallstubs_;
53 
57 
60 
63 
64  unsigned int nbitszfinebintable_;
65  unsigned int nbitsrfinebintable_;
66 
67  unsigned int nbitsrzbin_;
68 
69  TrackletLUT innerTable_; //projection to next layer/disk
70  TrackletLUT innerOverlapTable_; //projection to disk from layer
71  };
72 
73 }; // namespace trklet
74 #endif
input
static const std::string input
Definition: EdmProvDump.cc:48
trklet::TrackletProcessor::nbitszfinebintable_
unsigned int nbitszfinebintable_
Definition: TrackletProcessor.h:64
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
phimin
float phimin
Definition: ReggeGribovPartonMCHadronizer.h:107
memory
Definition: HGCRecHitSoA.h:20
TrackletLUT.h
trklet::TrackletProjectionsMemory
Definition: TrackletProjectionsMemory.h:15
trklet::Settings
Definition: Settings.h:52
trklet::TrackletLUT
Definition: TrackletLUT.h:12
trklet::VMStubsTEMemory
Definition: VMStubsTEMemory.h:18
trklet::TrackletProcessor::iAllStub_
int iAllStub_
Definition: TrackletProcessor.h:40
trklet::TrackletProcessor::teunits_
std::vector< TrackletEngineUnit > teunits_
Definition: TrackletProcessor.h:49
trklet::Globals
Definition: Globals.h:30
trklet::TrackletProcessor::nbitsrzbin_
unsigned int nbitsrzbin_
Definition: TrackletProcessor.h:67
trklet::TrackletProcessor::tebuffer_
std::tuple< CircularBuffer< TEData >, unsigned int, unsigned int, unsigned int, unsigned int > tebuffer_
Definition: TrackletProcessor.h:47
CircularBuffer.h
trklet::TrackletProcessor::execute
void execute(unsigned int iSector, double phimin, double phimax)
Definition: TrackletProcessor.cc:226
trklet::TrackletProcessor::pttableouter_
TrackletLUT pttableouter_
Definition: TrackletProcessor.h:55
trklet::TrackletProcessor::TrackletProcessor
TrackletProcessor(std::string name, Settings const &settings, Globals *globals)
Definition: TrackletProcessor.cc:19
trklet::TrackletProcessor::pttableinner_
TrackletLUT pttableinner_
Definition: TrackletProcessor.h:54
trklet::TrackletProcessor::useregiontable_
TrackletLUT useregiontable_
Definition: TrackletProcessor.h:56
trklet::TrackletProcessor::outerphibits_
int outerphibits_
Definition: TrackletProcessor.h:62
TrackletCalculatorBase.h
trklet::TrackletCalculatorBase
Definition: TrackletCalculatorBase.h:18
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet::TrackletProcessor::~TrackletProcessor
~TrackletProcessor() override=default
trklet::TrackletProcessor::innerphibits_
int innerphibits_
Definition: TrackletProcessor.h:61
trklet::TrackletProcessor::nbitsfinephidiff_
int nbitsfinephidiff_
Definition: TrackletProcessor.h:59
createfilelist.int
int
Definition: createfilelist.py:10
trklet::TrackletProcessor::outerallstubs_
std::vector< AllStubsMemory * > outerallstubs_
Definition: TrackletProcessor.h:52
trklet
Definition: AllInnerStubsMemory.h:10
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::TrackletProcessor::innerTable_
TrackletLUT innerTable_
Definition: TrackletProcessor.h:69
phimax
float phimax
Definition: ReggeGribovPartonMCHadronizer.h:106
trklet::TrackletProcessor::addOutputProjection
void addOutputProjection(TrackletProjectionsMemory *&outputProj, MemoryBase *memory)
Definition: TrackletProcessor.cc:105
trklet::TrackletProcessor::innerallstubs_
std::vector< AllInnerStubsMemory * > innerallstubs_
Definition: TrackletProcessor.h:51
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::TrackletProcessor::maxStep_
unsigned int maxStep_
Definition: TrackletProcessor.h:42
trklet::TrackletProcessor::innerOverlapTable_
TrackletLUT innerOverlapTable_
Definition: TrackletProcessor.h:70
trklet::TrackletProcessor::iTC_
int iTC_
Definition: TrackletProcessor.h:39
TrackletEngineUnit.h
trklet::TrackletProcessor::nbitsrfinebintable_
unsigned int nbitsrfinebintable_
Definition: TrackletProcessor.h:65
trklet::TrackletProcessor::nbitsfinephi_
int nbitsfinephi_
Definition: TrackletProcessor.h:58
trklet::TrackletProcessor
Definition: TrackletProcessor.h:24
trklet::TrackletProcessor::addOutput
void addOutput(MemoryBase *memory, std::string output) override
Definition: TrackletProcessor.cc:110
trklet::TrackletProcessor::addInput
void addInput(MemoryBase *memory, std::string input) override
Definition: TrackletProcessor.cc:152
trklet::TrackletProcessor::outervmstubs_
VMStubsTEMemory * outervmstubs_
Definition: TrackletProcessor.h:44