File indexing completed on 2024-04-06 12:27:14
0001 #ifndef ExhaustiveMuonTrajectoryBuilder_h
0002 #define ExhaustiveMuonTrajectoryBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "FWCore/Framework/interface/ESHandle.h"
0011 #include "RecoMuon/TrackingTools/interface/MuonTrajectoryBuilder.h"
0012 #include "RecoMuon/StandAloneTrackFinder/interface/StandAloneTrajectoryBuilder.h"
0013 #include "RecoMuon/TrackingTools/interface/MuonSeedFromRecHits.h"
0014
0015 #include "FWCore/Framework/interface/ConsumesCollector.h"
0016
0017 class ExhaustiveMuonTrajectoryBuilder : public MuonTrajectoryBuilder {
0018 public:
0019 ExhaustiveMuonTrajectoryBuilder(const edm::ParameterSet& pset, const MuonServiceProxy*, edm::ConsumesCollector&);
0020 ~ExhaustiveMuonTrajectoryBuilder() override;
0021
0022
0023 TrajectoryContainer trajectories(const TrajectorySeed&) override;
0024
0025
0026 CandidateContainer trajectories(const TrackCand&) override;
0027
0028
0029 void setEvent(const edm::Event& event) override;
0030
0031 private:
0032 void clean(TrajectoryContainer& trajectories) const;
0033
0034 StandAloneMuonTrajectoryBuilder theTrajBuilder;
0035 MuonSeedFromRecHits theSeeder;
0036 const MuonServiceProxy* theService;
0037 };
0038
0039 #endif