Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1Trigger_L1TMuonEndCapPhase2_TrackFinder_h
0002 #define L1Trigger_L1TMuonEndCapPhase2_TrackFinder_h
0003 
0004 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFfwd.h"
0005 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFTypes.h"
0006 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFContext.h"
0007 
0008 namespace emtf::phase2 {
0009 
0010   class TrackFinder {
0011   public:
0012     explicit TrackFinder(const edm::ParameterSet&, edm::ConsumesCollector&&);
0013 
0014     ~TrackFinder();
0015 
0016     void process(
0017         // Input
0018         const edm::Event&,
0019         const edm::EventSetup&,
0020         // Output
0021         EMTFHitCollection&,
0022         EMTFTrackCollection&,
0023         EMTFInputCollection&);
0024 
0025     void onJobBegin();
0026 
0027     void onJobEnd();
0028 
0029   private:
0030     EMTFContext context_;
0031 
0032     std::vector<std::unique_ptr<TPCollector>> tp_collectors_;
0033     std::vector<std::unique_ptr<SectorProcessor>> sector_processors_;
0034   };
0035 }  // namespace emtf::phase2
0036 
0037 #endif