Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-16 02:43:03

0001 #ifndef L1Trigger_Phase2L1GMT_TPS_h
0002 #define L1Trigger_Phase2L1GMT_TPS_h
0003 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0004 #include "DataFormats/L1TMuonPhase2/interface/TrackerMuon.h"
0005 #include "L1Trigger/Phase2L1GMT/interface/TrackConverter.h"
0006 #include "L1Trigger/Phase2L1GMT/interface/TPSAlgorithm.h"
0007 #include "L1Trigger/Phase2L1GMT/interface/Isolation.h"
0008 
0009 namespace Phase2L1GMT {
0010 
0011   class TPS {
0012   public:
0013     TPS(const edm::ParameterSet& iConfig);
0014     ~TPS() = default;
0015     std::vector<l1t::TrackerMuon> processEvent(const std::vector<edm::Ptr<l1t::TrackerMuon::L1TTTrackType> >&,
0016                                                const l1t::MuonStubRefVector&);
0017 
0018   private:
0019     int verbose_;
0020     std::unique_ptr<TrackConverter> tt_track_converter_;
0021     std::unique_ptr<TPSAlgorithm> tps_;
0022     std::unique_ptr<Isolation> isolation_;
0023     std::vector<edm::Ptr<l1t::TrackerMuon::L1TTTrackType> > associateTracksWithNonant(
0024         const std::vector<edm::Ptr<l1t::TrackerMuon::L1TTTrackType> >& tracks, uint processor);
0025     l1t::SAMuonRefVector associateMuonsWithNonant(const l1t::SAMuonRefVector&, uint);
0026     l1t::MuonStubRefVector associateStubsWithNonant(const l1t::MuonStubRefVector&, uint);
0027   };
0028 }  // namespace Phase2L1GMT
0029 
0030 #endif