CMS 3D CMS Logo

TrackletEventProcessor.h
Go to the documentation of this file.
1 // TrackletEventProcessor: Class responsible for the main event processing for the tracklet algorithm
2 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletEventProcessor_h
3 #define L1Trigger_TrackFindingTracklet_interface_TrackletEventProcessor_h
4 
6 
7 #include <map>
8 #include <memory>
9 #include <vector>
10 #include <deque>
11 #include <string>
12 
13 namespace tt {
14  class Setup;
15 }
16 
17 namespace trklet {
18 
19  class Settings;
20  class SLHCEvent;
21  class Globals;
22  class Sector;
23  class HistBase;
24  class Track;
25  class StubStreamData;
26 
28  public:
30 
32 
33  void init(Settings const& theSettings, const tt::Setup* setup = nullptr);
34 
35  void event(SLHCEvent& ev,
36  std::vector<std::vector<std::string>>& streamsTrackRaw,
37  std::vector<std::vector<StubStreamData>>& streamsStubRaw);
38 
39  void printSummary();
40 
41  const std::vector<Track>& tracks() const { return tracks_; }
42 
43  private:
44  void configure(std::istream& inwire, std::istream& inmem, std::istream& inproc);
45 
46  const Settings* settings_{nullptr};
47 
48  std::unique_ptr<Globals> globals_;
49 
50  std::unique_ptr<Sector> sector_;
51 
53 
54  int eventnum_ = {0};
55 
73 
74  std::vector<Track> tracks_;
75  };
76 
77 }; // namespace trklet
78 #endif
void init(Settings const &theSettings, const tt::Setup *setup=nullptr)
std::unique_ptr< Sector > sector_
Class to process and provide run-time constants used by Track Trigger emulators.
Definition: Setup.h:44
std::unique_ptr< Globals > globals_
Definition: TTTypes.h:54
const std::vector< Track > & tracks() const
void configure(std::istream &inwire, std::istream &inmem, std::istream &inproc)
void event(SLHCEvent &ev, std::vector< std::vector< std::string >> &streamsTrackRaw, std::vector< std::vector< StubStreamData >> &streamsStubRaw)