File indexing completed on 2024-04-06 12:27:06
0001 #ifndef RecoMuon_MuonSeedGenerator_SETMuonSeedProducer_H
0002 #define RecoMuon_MuonSeedGenerator_SETMuonSeedProducer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "FWCore/Framework/interface/stream/EDProducer.h"
0014 #include "FWCore/Utilities/interface/InputTag.h"
0015 #include "RecoMuon/TrackingTools/interface/RecoMuonEnumerators.h"
0016
0017 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
0018
0019 #include "RecoMuon/MuonSeedGenerator/src/SETFilter.h"
0020 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h"
0021 #include "RecoMuon/MuonSeedGenerator/src/SETPatternRecognition.h"
0022 #include "RecoMuon/MuonSeedGenerator/src/SETSeedFinder.h"
0023 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0024
0025 class TrajectorySeed;
0026 class STAFilter;
0027
0028 #include "FWCore/Framework/interface/Frameworkfwd.h"
0029
0030 class SETMuonSeedProducer : public edm::stream::EDProducer<> {
0031 public:
0032 typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer;
0033 typedef std::vector<Trajectory*> TrajectoryContainer;
0034
0035
0036 SETMuonSeedProducer(const edm::ParameterSet&);
0037
0038
0039 ~SETMuonSeedProducer() override;
0040
0041
0042 void produce(edm::Event&, const edm::EventSetup&) override;
0043
0044 protected:
0045 private:
0046
0047
0048 SETFilter* filter() const { return theFilter; }
0049
0050
0051
0052
0053
0054 SETFilter* theFilter;
0055 void setEvent(const edm::Event&);
0056
0057
0058 bool apply_prePruning;
0059 bool useSegmentsInTrajectory;
0060 MuonServiceProxy* theService;
0061
0062 SETPatternRecognition* thePatternRecognition;
0063 SETSeedFinder theSeedFinder;
0064
0065 edm::InputTag theBeamSpotTag;
0066 edm::EDGetTokenT<reco::BeamSpot> beamspotToken;
0067 };
0068 #endif