Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoMuon_MuonSeedGenerator_MuonSeedGenerator_H
0002 #define RecoMuon_MuonSeedGenerator_MuonSeedGenerator_H
0003 
0004 /** \class MuonSeedGenerator
0005  *  No description available.
0006  *
0007  *  \author R. Bellan - INFN Torino
0008  */
0009 
0010 #include "FWCore/Framework/interface/stream/EDProducer.h"
0011 #include "FWCore/Utilities/interface/InputTag.h"
0012 #include "FWCore/Utilities/interface/ESGetToken.h"
0013 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0014 #include <vector>
0015 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0016 #include "MagneticField/Engine/interface/MagneticField.h"
0017 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0018 
0019 class MuonSeedVFinder;
0020 class MuonSeedVPatternRecognition;
0021 class MuonSeedVCleaner;
0022 namespace edm {
0023   class ConfigurationDescriptions;
0024 }
0025 
0026 class MuonSeedGenerator : public edm::stream::EDProducer<> {
0027 public:
0028   /// Constructor
0029   MuonSeedGenerator(const edm::ParameterSet&);
0030 
0031   /// Destructor
0032   ~MuonSeedGenerator() override;
0033 
0034   // Operations
0035 
0036   /// reconstruct muon's seeds
0037   void produce(edm::Event&, const edm::EventSetup&) override;
0038 
0039   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0040 
0041 protected:
0042   MuonSeedVPatternRecognition* thePatternRecognition;
0043   MuonSeedVFinder* theSeedFinder;
0044   MuonSeedVCleaner* theSeedCleaner;
0045 
0046   edm::InputTag theBeamSpotTag;
0047   edm::EDGetTokenT<reco::BeamSpot> beamspotToken;
0048   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magFieldToken;
0049 };
0050 #endif