File indexing completed on 2025-01-09 23:33:51
0001 #ifndef RecoMuon_GlobalMuonProducer_GlobalMuonProducer_H
0002 #define RecoMuon_GlobalMuonProducer_GlobalMuonProducer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "FWCore/Framework/interface/stream/EDProducer.h"
0017
0018
0019 #include "DataFormats/TrackReco/interface/Track.h"
0020 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0021
0022 #include "DataFormats/MuonReco/interface/MuonTrackLinks.h"
0023 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0024 #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h"
0025 #include "DataFormats/TrackReco/interface/TrackToTrackMap.h"
0026
0027 namespace edm {
0028 class ParameterSet;
0029 class Event;
0030 class EventSetup;
0031 }
0032
0033 class MuonTrackFinder;
0034 class MuonServiceProxy;
0035
0036 class GlobalMuonProducer : public edm::stream::EDProducer<> {
0037 public:
0038
0039 GlobalMuonProducer(const edm::ParameterSet&);
0040
0041
0042 ~GlobalMuonProducer() override;
0043
0044
0045 void produce(edm::Event&, const edm::EventSetup&) override;
0046
0047 private:
0048 edm::InputTag theSTACollectionLabel;
0049
0050 edm::EDGetTokenT<reco::TrackCollection> staMuonsToken;
0051 edm::EDGetTokenT<std::vector<Trajectory> > staMuonsTrajToken;
0052 edm::EDGetTokenT<TrajTrackAssociationCollection> staAssoMapToken;
0053 edm::EDGetTokenT<reco::TrackToTrackMap> updatedStaAssoMapToken;
0054
0055 std::unique_ptr<MuonTrackFinder> theTrackFinder;
0056
0057
0058 MuonServiceProxy* theService;
0059
0060 std::string theAlias;
0061
0062 void setAlias(std::string alias) {
0063 alias.erase(alias.size() - 1, alias.size());
0064 theAlias = alias;
0065 }
0066 };
0067
0068 #endif