L1Trigger
L1TGEM
plugins
ME0TriggerProducer.cc
Go to the documentation of this file.
1
10
#include "
FWCore/Framework/interface/MakerMacros.h
"
11
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
12
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
13
#include "
FWCore/Framework/interface/global/EDProducer.h
"
14
#include "
FWCore/Framework/interface/Event.h
"
15
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
16
#include "
FWCore/Utilities/interface/InputTag.h
"
17
#include "
FWCore/Utilities/interface/ESGetToken.h
"
18
#include "
FWCore/Framework/interface/ESHandle.h
"
19
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
20
#include "
L1Trigger/L1TGEM/interface/ME0TriggerBuilder.h
"
21
#include "
DataFormats/Common/interface/Handle.h
"
22
#include "
DataFormats/GEMDigi/interface/ME0PadDigiCollection.h
"
23
#include "
DataFormats/GEMDigi/interface/ME0TriggerDigiCollection.h
"
24
#include "
Geometry/Records/interface/MuonGeometryRecord.h
"
25
#include "
Geometry/GEMGeometry/interface/ME0Geometry.h
"
26
27
class
ME0TriggerBuilder
;
28
29
class
ME0TriggerProducer
:
public
edm::global::EDProducer
<> {
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
:
37
edm::InputTag
me0PadDigis_
;
38
edm::EDGetTokenT<ME0PadDigiCollection>
me0_pad_token_
;
39
edm::ESGetToken<ME0Geometry, MuonGeometryRecord>
me0_geom_token_
;
40
edm::ParameterSet
config_
;
41
};
42
43
ME0TriggerProducer::ME0TriggerProducer
(
const
edm::ParameterSet
& conf) {
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
53
ME0TriggerProducer::~ME0TriggerProducer
() {}
54
55
void
ME0TriggerProducer::produce
(
edm::StreamID
,
edm::Event
&
ev
,
const
edm::EventSetup
&
setup
)
const
{
56
edm::ESHandle<ME0Geometry>
h_me0 =
setup
.getHandle(
me0_geom_token_
);
57
58
edm::Handle<ME0PadDigiCollection>
me0PadDigis;
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
75
DEFINE_FWK_MODULE
(
ME0TriggerProducer
);
edm::StreamID
Definition:
StreamID.h:30
Handle.h
MessageLogger.h
ME0TriggerBuilder
Definition:
ME0TriggerBuilder.h:20
edm::Handle::product
T const * product() const
Definition:
Handle.h:70
ME0PadDigiCollection
ESHandle.h
edm::EDGetTokenT< ME0PadDigiCollection >
ME0TriggerProducer::produce
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
Definition:
ME0TriggerProducer.cc:55
ME0TriggerDigiCollection.h
ME0TriggerProducer::me0_pad_token_
edm::EDGetTokenT< ME0PadDigiCollection > me0_pad_token_
Definition:
ME0TriggerProducer.cc:38
edm::Handle
Definition:
AssociativeIterator.h:50
ESGetToken.h
singleTopDQM_cfi.setup
setup
Definition:
singleTopDQM_cfi.py:37
MakerMacros.h
ME0TriggerProducer
Definition:
ME0TriggerProducer.cc:29
ME0TriggerProducer::me0PadDigis_
edm::InputTag me0PadDigis_
Definition:
ME0TriggerProducer.cc:37
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
edm::ESHandle< ME0Geometry >
ME0TriggerBuilder.h
ME0PadDigiCollection.h
edm::global::EDProducer
Definition:
EDProducer.h:32
edm::ParameterSet
Definition:
ParameterSet.h:47
Event.h
edm::EventSetup
Definition:
EventSetup.h:58
ME0TriggerProducer::~ME0TriggerProducer
~ME0TriggerProducer() override
Definition:
ME0TriggerProducer.cc:53
edm::ESGetToken< ME0Geometry, MuonGeometryRecord >
InputTag.h
ME0TriggerProducer::config_
edm::ParameterSet config_
Definition:
ME0TriggerProducer.cc:40
ME0Geometry.h
ME0TriggerDigiCollection
eostools.move
def move(src, dest)
Definition:
eostools.py:511
Frameworkfwd.h
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:97
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition:
ParameterSet.h:303
ME0TriggerProducer::ME0TriggerProducer
ME0TriggerProducer(const edm::ParameterSet &)
Definition:
ME0TriggerProducer.cc:43
ConsumesCollector.h
ParameterSet.h
EDProducer.h
MuonGeometryRecord.h
edm::Event
Definition:
Event.h:73
edm::InputTag
Definition:
InputTag.h:15
ME0TriggerProducer::me0_geom_token_
edm::ESGetToken< ME0Geometry, MuonGeometryRecord > me0_geom_token_
Definition:
ME0TriggerProducer.cc:39
Generated for CMSSW Reference Manual by
1.8.16