File indexing completed on 2024-04-06 12:27:16
0001 #ifndef RecoMuon_TrackerSeedGenerator_TSGFromL1Muon_H
0002 #define RecoMuon_TrackerSeedGenerator_TSGFromL1Muon_H
0003
0004
0005
0006
0007
0008
0009
0010 #include "FWCore/Framework/interface/stream/EDProducer.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "RecoTracker/TkSeedGenerator/interface/SeedFromProtoTrack.h"
0013 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
0014 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
0015
0016 namespace edm {
0017 class Event;
0018 class EventSetup;
0019 }
0020 class L1MuonRegionProducer;
0021 class L1MuonPixelTrackFitter;
0022 class OrderedHitsGenerator;
0023 class PixelTrackFilter;
0024 class L1MuonSeedsMerger;
0025 class MagneticField;
0026 class IdealMagneticFieldRecord;
0027
0028 class TSGFromL1Muon : public edm::stream::EDProducer<> {
0029 public:
0030 TSGFromL1Muon(const edm::ParameterSet& cfg);
0031 ~TSGFromL1Muon() override;
0032 void produce(edm::Event& ev, const edm::EventSetup& es) override;
0033
0034 private:
0035 private:
0036 edm::InputTag theSourceTag;
0037 edm::EDGetTokenT<l1extra::L1MuonParticleCollection> theSourceToken;
0038 edm::EDGetTokenT<PixelTrackFilter> theFilterToken;
0039 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> theFieldToken;
0040 const SeedFromProtoTrack::Config theSFPTConfig;
0041
0042 std::unique_ptr<L1MuonRegionProducer> theRegionProducer;
0043 std::unique_ptr<OrderedHitsGenerator> theHitGenerator;
0044 std::unique_ptr<L1MuonPixelTrackFitter> theFitter;
0045 std::unique_ptr<L1MuonSeedsMerger> theMerger;
0046 };
0047 #endif