PhysicsTools
PatExamples
src
PatMuonAnalyzer.cc
Go to the documentation of this file.
1
#include "
DataFormats/Common/interface/Handle.h
"
2
#include "
DataFormats/MuonReco/interface/Muon.h
"
3
#include "
PhysicsTools/PatExamples/interface/PatMuonAnalyzer.h
"
4
6
PatMuonAnalyzer::PatMuonAnalyzer
(
const
edm::ParameterSet
&
cfg
,
TFileDirectory
& fs)
7
:
edm
::
BasicAnalyzer
::
BasicAnalyzer
(
cfg
, fs), muons_(
cfg
.getParameter<
edm
::
InputTag
>(
"muons"
)) {
8
hists_
[
"muonPt"
] = fs.
make
<TH1F>(
"muonPt"
,
"pt"
, 100, 0., 300.);
9
hists_
[
"muonEta"
] = fs.
make
<TH1F>(
"muonEta"
,
"eta"
, 100, -3., 3.);
10
hists_
[
"muonPhi"
] = fs.
make
<TH1F>(
"muonPhi"
,
"phi"
, 100, -5., 5.);
11
}
12
PatMuonAnalyzer::PatMuonAnalyzer
(
const
edm::ParameterSet
&
cfg
,
TFileDirectory
& fs,
edm::ConsumesCollector
&& iC)
13
:
edm
::
BasicAnalyzer
::
BasicAnalyzer
(
cfg
, fs),
14
muons_(
cfg
.getParameter<
edm
::
InputTag
>(
"muons"
)),
15
muonsToken_(iC.consumes<
std
::
vector
<
pat
::
Muon
> >(muons_)) {
16
hists_
[
"muonPt"
] = fs.
make
<TH1F>(
"muonPt"
,
"pt"
, 100, 0., 300.);
17
hists_
[
"muonEta"
] = fs.
make
<TH1F>(
"muonEta"
,
"eta"
, 100, -3., 3.);
18
hists_
[
"muonPhi"
] = fs.
make
<TH1F>(
"muonPhi"
,
"phi"
, 100, -5., 5.);
19
}
20
22
void
PatMuonAnalyzer::analyze
(
const
edm::EventBase
&
event
) {
23
// define what muon you are using; this is necessary as FWLite is not
24
// capable of reading edm::Views
25
using
pat::Muon
;
26
27
// Handle to the muon collection
28
edm::Handle<std::vector<Muon>
>
muons
;
29
event
.getByLabel(
muons_
,
muons
);
30
31
// loop muon collection and fill histograms
32
for
(std::vector<Muon>::const_iterator mu1 =
muons
->begin(); mu1 !=
muons
->end(); ++mu1) {
33
hists_
[
"muonPt"
]->Fill(mu1->pt());
34
hists_
[
"muonEta"
]->Fill(mu1->eta());
35
hists_
[
"muonPhi"
]->Fill(mu1->phi());
36
}
37
}
PDWG_BPHSkim_cff.muons
muons
Definition:
PDWG_BPHSkim_cff.py:47
Handle.h
Muon.h
TFileDirectory::make
T * make(const Args &... args) const
make new ROOT object
Definition:
TFileDirectory.h:53
edm
HLT enums.
Definition:
AlignableModifier.h:19
HLT_FULL_cff.InputTag
InputTag
Definition:
HLT_FULL_cff.py:89285
TFileDirectory
Definition:
TFileDirectory.h:24
PatMuonAnalyzer::PatMuonAnalyzer
PatMuonAnalyzer(const edm::ParameterSet &cfg, TFileDirectory &fs)
default constructor
Definition:
PatMuonAnalyzer.cc:6
edm::Handle
Definition:
AssociativeIterator.h:50
Muon
Definition:
Muon.py:1
PatMuonAnalyzer.h
PatMuonAnalyzer::analyze
void analyze(const edm::EventBase &event) override
everything that needs to be done during the event loop
Definition:
PatMuonAnalyzer.cc:22
BasicAnalyzer
Abstract base class for FWLite and EDM friendly analyzers.
edm::ParameterSet
Definition:
ParameterSet.h:47
dumpRecoGeometry_cfg.Muon
Muon
Definition:
dumpRecoGeometry_cfg.py:190
trackerHitRTTI::vector
Definition:
trackerHitRTTI.h:21
pat
Definition:
HeavyIon.h:7
looper.cfg
cfg
Definition:
looper.py:297
std
Definition:
JetResolutionObject.h:76
edm::EventBase
Definition:
EventBase.h:46
PatMuonAnalyzer::hists_
std::map< std::string, TH1 * > hists_
histograms
Definition:
PatMuonAnalyzer.h:37
PatMuonAnalyzer::muons_
edm::InputTag muons_
input tag for mouns
Definition:
PatMuonAnalyzer.h:34
event
Definition:
event.py:1
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
Generated for CMSSW Reference Manual by
1.8.16