CMS 3D CMS Logo

ME0TriggerProducer.cc
Go to the documentation of this file.
1 
26 
27 class ME0TriggerBuilder;
28 
30 public:
31  explicit ME0TriggerProducer(const edm::ParameterSet&);
32  ~ME0TriggerProducer() override;
33 
34  void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
35 
36 private:
41 };
42 
44  me0PadDigis_ = conf.getParameter<edm::InputTag>("ME0PadDigis");
45  me0_pad_token_ = consumes<ME0PadDigiCollection>(me0PadDigis_);
46  me0_geom_token_ = esConsumes<ME0Geometry, MuonGeometryRecord>();
47  config_ = conf;
48 
49  // register what this produces
50  produces<ME0TriggerDigiCollection>();
51 }
52 
54 
57 
59  ev.getByToken(me0_pad_token_, me0PadDigis);
60  const ME0PadDigiCollection* me0Pads = me0PadDigis.product();
61 
62  // Create empty collection
63  std::unique_ptr<ME0TriggerDigiCollection> oc_trig(new ME0TriggerDigiCollection);
64 
65  std::unique_ptr<ME0TriggerBuilder> trigBuilder(new ME0TriggerBuilder(config_));
66  trigBuilder->setME0Geometry(&*h_me0);
67 
68  // Fill output collections if valid input collection is available.
69  trigBuilder->build(me0Pads, *oc_trig);
70 
71  // Put collections in event.
72  ev.put(std::move(oc_trig));
73 }
74 
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::InputTag me0PadDigis_
edm::ParameterSet config_
T const * product() const
Definition: Handle.h:70
edm::ESGetToken< ME0Geometry, MuonGeometryRecord > me0_geom_token_
~ME0TriggerProducer() override
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
ME0TriggerProducer(const edm::ParameterSet &)
def move(src, dest)
Definition: eostools.py:511
edm::EDGetTokenT< ME0PadDigiCollection > me0_pad_token_