Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:16

0001 #ifndef RecoMuon_TrackerSeedGenerator_TSGFromL1Muon_H
0002 #define RecoMuon_TrackerSeedGenerator_TSGFromL1Muon_H
0003 
0004 /** \class TSGFromL1Muon
0005  * Description: 
0006  * EDPRoducer to generate L3MuonTracjectorySeed from L1MuonParticles
0007  * \author Marcin Konecki
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 }  // namespace edm
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