File indexing completed on 2021-07-07 22:33:29
0001
0002 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletEventProcessor_h
0003 #define L1Trigger_TrackFindingTracklet_interface_TrackletEventProcessor_h
0004
0005 #include "L1Trigger/TrackFindingTracklet/interface/Timer.h"
0006
0007 #include <map>
0008 #include <memory>
0009 #include <vector>
0010 #include <string>
0011
0012 namespace trklet {
0013
0014 class Settings;
0015 class SLHCEvent;
0016 class Globals;
0017 class Sector;
0018 class HistBase;
0019 class Track;
0020
0021 class TrackletEventProcessor {
0022 public:
0023 TrackletEventProcessor();
0024
0025 ~TrackletEventProcessor();
0026
0027 void init(Settings const& theSettings);
0028
0029 void event(SLHCEvent& ev);
0030
0031 void printSummary();
0032
0033 const std::vector<Track>& tracks() const { return tracks_; }
0034
0035 private:
0036 void configure(std::istream& inwire, std::istream& inmem, std::istream& inproc);
0037
0038 const Settings* settings_{nullptr};
0039
0040 std::unique_ptr<Globals> globals_;
0041
0042 std::unique_ptr<Sector> sector_;
0043
0044 HistBase* histbase_{};
0045
0046 int eventnum_ = {0};
0047
0048 Timer cleanTimer_;
0049 Timer addStubTimer_;
0050 Timer InputRouterTimer_;
0051 Timer VMRouterTimer_;
0052 Timer TETimer_;
0053 Timer TEDTimer_;
0054 Timer TRETimer_;
0055 Timer TPTimer_;
0056 Timer TCTimer_;
0057 Timer TCDTimer_;
0058 Timer PRTimer_;
0059 Timer METimer_;
0060 Timer MCTimer_;
0061 Timer MPTimer_;
0062 Timer FTTimer_;
0063 Timer PDTimer_;
0064
0065 std::vector<Track> tracks_;
0066 };
0067
0068 };
0069 #endif