File indexing completed on 2024-04-06 12:26:54
0001 #ifndef RecoMuon_GlobalTrackFinder_GlobalMuonTrajectoryBuilder_H
0002 #define RecoMuon_GlobalTrackFinder_GlobalMuonTrajectoryBuilder_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "RecoMuon/GlobalTrackingTools/interface/GlobalTrajectoryBuilderBase.h"
0014 #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h"
0015 #include "FWCore/Utilities/interface/InputTag.h"
0016 #include "FWCore/Framework/interface/ConsumesCollector.h"
0017 #include "DataFormats/VertexReco/interface/Vertex.h"
0018
0019 namespace edm {
0020 class ParameterSet;
0021 class Event;
0022 class EventSetup;
0023 }
0024
0025 class MuonServiceProxy;
0026 class Trajectory;
0027
0028 class GlobalMuonTrajectoryBuilder : public GlobalTrajectoryBuilderBase {
0029 public:
0030
0031 GlobalMuonTrajectoryBuilder(const edm::ParameterSet&, const MuonServiceProxy*, edm::ConsumesCollector&);
0032
0033
0034 ~GlobalMuonTrajectoryBuilder() override;
0035
0036 using GlobalTrajectoryBuilderBase::trajectories;
0037
0038
0039 MuonTrajectoryBuilder::CandidateContainer trajectories(const TrackCand&) override;
0040
0041
0042 void setEvent(const edm::Event&) override;
0043
0044 private:
0045
0046 std::vector<TrackCand> makeTkCandCollection(const TrackCand&) override;
0047
0048 private:
0049 edm::InputTag theTkTrackLabel;
0050 edm::EDGetTokenT<reco::TrackCollection> allTrackerTracksToken;
0051 edm::Handle<reco::TrackCollection> allTrackerTracks;
0052 edm::InputTag thePrimaryVtxLabel;
0053 edm::EDGetTokenT<reco::VertexCollection> primaryVertexToken;
0054 edm::Handle<reco::VertexCollection> vertexCollection;
0055 bool selectHighPurity_;
0056 };
0057 #endif