Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
L1Trigger
L1TNtuples
plugins
L1RecoTreeProducer.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: L1Trigger/L1TNtuples
4
// Class: L1RecoTreeProducer
5
//
10
// system include files
11
#include <memory>
12
13
// framework
14
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
15
#include "
FWCore/Framework/interface/EDAnalyzer.h
"
16
#include "
FWCore/Framework/interface/Event.h
"
17
#include "
FWCore/Framework/interface/EventSetup.h
"
18
#include "
FWCore/Framework/interface/MakerMacros.h
"
19
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
20
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
21
#include "
FWCore/Framework/interface/ESHandle.h
"
22
23
// ROOT output stuff
24
#include "
FWCore/ServiceRegistry/interface/Service.h
"
25
#include "
CommonTools/UtilAlgos/interface/TFileService.h
"
26
#include "TH1.h"
27
#include "TTree.h"
28
#include "TF1.h"
29
30
// EDM formats
31
#include "
DataFormats/VertexReco/interface/Vertex.h
"
32
#include "
DataFormats/VertexReco/interface/VertexFwd.h
"
33
34
//local data formats
35
#include "
L1Trigger/L1TNtuples/interface/L1AnalysisRecoVertexDataFormat.h
"
36
37
//
38
// class declaration
39
//
40
41
class
L1RecoTreeProducer
:
public
edm::EDAnalyzer
{
42
public
:
43
explicit
L1RecoTreeProducer
(
const
edm::ParameterSet
&);
44
~L1RecoTreeProducer
()
override
;
45
46
private
:
47
void
beginJob
(
void
)
override
;
48
void
analyze
(
const
edm::Event
&,
const
edm::EventSetup
&)
override
;
49
void
endJob
()
override
;
50
51
public
:
52
L1Analysis::L1AnalysisRecoVertexDataFormat
*
vtxData_
;
53
54
private
:
55
// output file
56
edm::Service<TFileService>
fs_
;
57
58
// tree
59
TTree*
tree_
;
60
61
// EDM input tags
62
edm::EDGetTokenT<reco::VertexCollection>
vtxToken_
;
63
64
unsigned
int
maxVtx_
;
65
};
66
67
L1RecoTreeProducer::L1RecoTreeProducer
(
const
edm::ParameterSet
& iConfig) {
68
vtxToken_
= consumes<reco::VertexCollection>(
69
iConfig.
getUntrackedParameter
(
"vtxToken"
,
edm::InputTag
(
"offlinePrimaryVertices"
)));
70
71
maxVtx_
= iConfig.
getParameter
<
unsigned
int
>(
"maxVtx"
);
72
73
vtxData_
=
new
L1Analysis::L1AnalysisRecoVertexDataFormat
();
74
75
// set up output
76
tree_
=
fs_
->
make
<TTree>(
"RecoTree"
,
"RecoTree"
);
77
tree_
->Branch(
"Vertex"
,
"L1Analysis::L1AnalysisRecoVertexDataFormat"
, &
vtxData_
, 32000, 3);
78
}
79
80
L1RecoTreeProducer::~L1RecoTreeProducer
() {
81
// do anything here that needs to be done at desctruction time
82
// (e.g. close files, deallocate resources etc.)
83
}
84
85
//
86
// member functions
87
//
88
89
// ------------ method called to for each event ------------
90
void
L1RecoTreeProducer::analyze
(
const
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup) {
91
vtxData_
->
Reset
();
92
93
// get vertices
94
edm::Handle<reco::VertexCollection>
vertices
;
95
iEvent
.getByToken(
vtxToken_
,
vertices
);
96
97
if
(
vertices
.isValid()) {
98
for
(reco::VertexCollection::const_iterator it =
vertices
->begin();
99
it !=
vertices
->end() &&
vtxData_
->
nVtx
<
maxVtx_
;
100
++it) {
101
if
(!it->isFake()) {
102
vtxData_
->
NDoF
.push_back(it->ndof());
103
vtxData_
->
Z
.push_back(it->z());
104
vtxData_
->
Rho
.push_back(it->position().rho());
105
vtxData_
->
nVtx
++;
106
}
107
}
108
tree_
->Fill();
109
}
110
}
111
112
// ------------ method called once each job just before starting event loop ------------
113
void
L1RecoTreeProducer::beginJob
(
void
) {}
114
115
// ------------ method called once each job just after ending the event loop ------------
116
void
L1RecoTreeProducer::endJob
() {}
117
118
//define this as a plug-in
119
DEFINE_FWK_MODULE
(
L1RecoTreeProducer
);
MessageLogger.h
ESHandle.h
L1Analysis::L1AnalysisRecoVertexDataFormat::Reset
void Reset()
Definition:
L1AnalysisRecoVertexDataFormat.h:18
edm::EDGetTokenT< reco::VertexCollection >
L1Analysis::L1AnalysisRecoVertexDataFormat
Definition:
L1AnalysisRecoVertexDataFormat.h:14
L1RecoTreeProducer::vtxToken_
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition:
L1RecoTreeProducer.cc:62
L1RecoTreeProducer::maxVtx_
unsigned int maxVtx_
Definition:
L1RecoTreeProducer.cc:64
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
L1AnalysisRecoVertexDataFormat.h
EDAnalyzer.h
L1RecoTreeProducer::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition:
L1RecoTreeProducer.cc:90
edm::Handle< reco::VertexCollection >
edm::EDAnalyzer
Definition:
EDAnalyzer.h:28
L1RecoTreeProducer::tree_
TTree * tree_
Definition:
L1RecoTreeProducer.cc:59
L1RecoTreeProducer::L1RecoTreeProducer
L1RecoTreeProducer(const edm::ParameterSet &)
Definition:
L1RecoTreeProducer.cc:67
MakerMacros.h
L1RecoTreeProducer::vtxData_
L1Analysis::L1AnalysisRecoVertexDataFormat * vtxData_
Definition:
L1RecoTreeProducer.cc:52
L1RecoTreeProducer::beginJob
void beginJob(void) override
Definition:
L1RecoTreeProducer.cc:113
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
Service.h
L1RecoTreeProducer::endJob
void endJob() override
Definition:
L1RecoTreeProducer.cc:116
L1Analysis::L1AnalysisRecoVertexDataFormat::nVtx
unsigned nVtx
Definition:
L1AnalysisRecoVertexDataFormat.h:25
Vertex.h
TFileService.h
edm::ParameterSet
Definition:
ParameterSet.h:47
Event.h
L1Analysis::L1AnalysisRecoVertexDataFormat::Z
std::vector< double > Z
Definition:
L1AnalysisRecoVertexDataFormat.h:27
L1Analysis::L1AnalysisRecoVertexDataFormat::Rho
std::vector< double > Rho
Definition:
L1AnalysisRecoVertexDataFormat.h:28
L1Analysis::L1AnalysisRecoVertexDataFormat::NDoF
std::vector< unsigned int > NDoF
Definition:
L1AnalysisRecoVertexDataFormat.h:26
edm::Service< TFileService >
iEvent
int iEvent
Definition:
GenABIO.cc:224
edm::EventSetup
Definition:
EventSetup.h:58
VertexFwd.h
L1RecoTreeProducer
Definition:
L1RecoTreeProducer.cc:41
L1RecoTreeProducer::~L1RecoTreeProducer
~L1RecoTreeProducer() override
Definition:
L1RecoTreeProducer.cc:80
Frameworkfwd.h
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition:
ParameterSet.h:303
ParameterSet.h
edm::Event
Definition:
Event.h:73
edm::InputTag
Definition:
InputTag.h:15
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition:
TFileService.h:64
L1RecoTreeProducer::fs_
edm::Service< TFileService > fs_
Definition:
L1RecoTreeProducer.cc:56
pwdgSkimBPark_cfi.vertices
vertices
Definition:
pwdgSkimBPark_cfi.py:7
Generated for CMSSW Reference Manual by
1.8.16