File indexing completed on 2025-01-09 23:33:59
0001 #ifndef RecoMuon_StandAloneMuonProducer_StandAloneMuonProducer_H
0002 #define RecoMuon_StandAloneMuonProducer_StandAloneMuonProducer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "FWCore/Framework/interface/stream/EDProducer.h"
0017 #include "FWCore/Utilities/interface/InputTag.h"
0018 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0019 #include <memory>
0020
0021 namespace edm {
0022 class ParameterSet;
0023 class Event;
0024 class EventSetup;
0025 }
0026
0027 class MuonTrackFinder;
0028 class MuonServiceProxy;
0029
0030 class StandAloneMuonProducer : public edm::stream::EDProducer<> {
0031 public:
0032
0033 StandAloneMuonProducer(const edm::ParameterSet&);
0034
0035
0036 ~StandAloneMuonProducer() override;
0037
0038
0039 void produce(edm::Event&, const edm::EventSetup&) override;
0040
0041 private:
0042
0043 edm::InputTag theSeedCollectionLabel;
0044
0045
0046 std::unique_ptr<MuonTrackFinder> theTrackFinder;
0047
0048
0049 std::unique_ptr<MuonServiceProxy> theService;
0050
0051 edm::EDGetTokenT<edm::View<TrajectorySeed> > seedToken;
0052
0053 std::string theAlias;
0054
0055 void setAlias(std::string alias) {
0056 alias.erase(alias.size() - 1, alias.size());
0057 theAlias = alias;
0058 }
0059 };
0060
0061 #endif