Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:56

0001 // TripletEngine: Adds third stub to stub pairs found by TrackletEngineDisplaced to form "triplet" seeds for the displaced (extended) tracking
0002 #ifndef L1Trigger_TrackFindingTracklet_interface_TripletEngine_h
0003 #define L1Trigger_TrackFindingTracklet_interface_TripletEngine_h
0004 
0005 #include "L1Trigger/TrackFindingTracklet/interface/ProcessBase.h"
0006 #include "L1Trigger/TrackFindingTracklet/interface/StubTripletsMemory.h"
0007 #include "L1Trigger/TrackFindingTracklet/interface/VMStubsTEMemory.h"
0008 #include "L1Trigger/TrackFindingTracklet/interface/StubPairsMemory.h"
0009 
0010 #include <vector>
0011 #include <map>
0012 
0013 namespace trklet {
0014 
0015   class Settings;
0016   class Globals;
0017 
0018   class TripletEngine : public ProcessBase {
0019   public:
0020     TripletEngine(std::string name, Settings const& settings, Globals* global);
0021 
0022     ~TripletEngine() override;
0023 
0024     void addOutput(MemoryBase* memory, std::string output) override;
0025     void addInput(MemoryBase* memory, std::string input) override;
0026 
0027     void execute();
0028 
0029     void readTables();
0030     void writeTables();
0031 
0032   private:
0033     int count_;
0034 
0035     int layer1_;
0036     int layer2_;
0037     int layer3_;
0038     int disk1_;
0039     int disk2_;
0040     int disk3_;
0041     int dct1_;
0042     int dct2_;
0043     int dct3_;
0044     int phi1_;
0045     int phi2_;
0046     int phi3_;
0047     int z1_;
0048     int z2_;
0049     int z3_;
0050     int r1_;
0051     int r2_;
0052     int r3_;
0053 
0054     std::vector<VMStubsTEMemory*> thirdvmstubs_;
0055     std::vector<StubPairsMemory*> stubpairs_;
0056 
0057     StubTripletsMemory* stubtriplets_;
0058 
0059     std::map<std::string, std::vector<std::vector<std::string> > > tmpSPTable_;
0060     std::map<std::string, std::vector<std::map<std::string, unsigned> > > spTable_;
0061     std::vector<bool> table_;
0062 
0063     int secondphibits_;
0064     int thirdphibits_;
0065 
0066     int iSeed_;
0067   };
0068 
0069 };  // namespace trklet
0070 #endif