CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ME0TriggerPseudoProducer.cc
Go to the documentation of this file.
1 
25 
27 
29 public:
31  ~ME0TriggerPseudoProducer() override;
32 
33  void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
34 
35 private:
39 };
40 
42  me0segmentProducer_ = conf.getParameter<edm::InputTag>("ME0SegmentProducer");
43  me0segment_token_ = consumes<ME0SegmentCollection>(me0segmentProducer_);
44  config_ = conf;
45 
46  // register what this produces
47  produces<ME0TriggerDigiCollection>();
48 }
49 
51 
54  setup.get<MuonGeometryRecord>().get(h_me0);
55 
56  edm::Handle<ME0SegmentCollection> me0Segmentcoll;
57  ev.getByToken(me0segment_token_, me0Segmentcoll);
58  const ME0SegmentCollection* me0segments = me0Segmentcoll.product();
59 
60  // Create empty collection
61  auto oc_trig = std::make_unique<ME0TriggerDigiCollection>();
62 
63  auto trigBuilder = std::make_unique<ME0TriggerPseudoBuilder>(config_);
64  trigBuilder->setME0Geometry(&*h_me0);
65 
66  // Fill output collections if valid input collection is available.
67  if (me0Segmentcoll.isValid()) {
68  trigBuilder->build(me0segments, *oc_trig);
69  }
70 
71  // Put collections in event.
72  ev.put(std::move(oc_trig));
73 }
74 
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
edm::EDGetTokenT< ME0SegmentCollection > me0segment_token_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
ME0TriggerPseudoProducer(const edm::ParameterSet &)
bool ev
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
bool isValid() const
Definition: HandleBase.h:70
T const * product() const
Definition: Handle.h:69
T get() const
Definition: EventSetup.h:73
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
def move(src, dest)
Definition: eostools.py:511