Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
Validation
RecoParticleFlow
plugins
PFJetBenchmarkAnalyzer.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package:
4
// Class: PFJetBenchmarkAnalyzer.cc
5
//
14
//
15
// Original Author: Michel Della Negra
16
// Created: Wed Jan 23 10:11:13 CET 2008
17
// $Id: PFJetBenchmarkAnalyzer.cc,v 1.3 2010/02/20 21:02:43 wmtan Exp $
18
// Extensions by Joanna Weng
19
//
20
21
22
// system include files
23
#include <memory>
24
25
// user include files
26
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
27
#include "
FWCore/Framework/interface/EDAnalyzer.h
"
28
29
#include "
FWCore/Framework/interface/Event.h
"
30
#include "
FWCore/Framework/interface/MakerMacros.h
"
31
32
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
33
#include "
DataFormats/JetReco/interface/Jet.h
"
34
#include "
DataFormats/JetReco/interface/CaloJetCollection.h
"
35
#include "
DataFormats/JetReco/interface/BasicJetCollection.h
"
36
#include "
DataFormats/JetReco/interface/PFJet.h
"
37
#include "
DataFormats/JetReco/interface/GenJet.h
"
38
#include "
DataFormats/Candidate/interface/Candidate.h
"
39
#include "
DataFormats/Candidate/interface/CandidateFwd.h
"
40
#include "
RecoParticleFlow/Benchmark/interface/PFJetBenchmark.h
"
41
#include "
FWCore/ServiceRegistry/interface/Service.h
"
42
#include "
FWCore/Utilities/interface/InputTag.h
"
43
using namespace
edm;
44
using namespace
reco
;
45
using namespace
std;
46
47
//
48
// class decleration
49
50
51
class
PFJetBenchmarkAnalyzer
:
public
edm::EDAnalyzer
{
52
public
:
53
explicit
PFJetBenchmarkAnalyzer
(
const
edm::ParameterSet
&);
54
~
PFJetBenchmarkAnalyzer
();
55
56
57
private
:
58
virtual
void
beginJob
() ;
59
virtual
void
analyze
(
const
edm::Event
&,
const
edm::EventSetup
&);
60
virtual
void
endJob() ;
61
// ----------member data ---------------------------
62
63
};
65
66
//neuhaus - comment
67
PFJetBenchmark
PFJetBenchmark_
;
68
InputTag
sGenJetAlgo
;
69
InputTag
sJetAlgo
;
70
string
outjetfilename
;
71
bool
pfjBenchmarkDebug
;
72
bool
plotAgainstReco
;
73
bool
onlyTwoJets
;
74
double
deltaRMax
=0.1;
75
string
benchmarkLabel_
;
76
double
recPt
;
77
double
maxEta
;
78
DQMStore
*
dbe_
;
79
//
80
// constants, enums and typedefs
81
//
82
83
//
84
// static data member definitions
85
//
86
87
//
88
// constructors and destructor
89
//
90
PFJetBenchmarkAnalyzer::PFJetBenchmarkAnalyzer
(
const
edm::ParameterSet
& iConfig)
91
92
{
93
//now do what ever initialization is needed
94
sGenJetAlgo
=
95
iConfig.
getParameter
<
InputTag
>(
"InputTruthLabel"
);
96
sJetAlgo
=
97
iConfig.
getParameter
<
InputTag
>(
"InputRecoLabel"
);
98
outjetfilename
=
99
iConfig.
getUntrackedParameter
<
string
>(
"OutputFile"
);
100
pfjBenchmarkDebug
=
101
iConfig.
getParameter
<
bool
>(
"pfjBenchmarkDebug"
);
102
plotAgainstReco
=
103
iConfig.
getParameter
<
bool
>(
"PlotAgainstRecoQuantities"
);
104
onlyTwoJets
=
105
iConfig.
getParameter
<
bool
>(
"OnlyTwoJets"
);
106
deltaRMax
=
107
iConfig.
getParameter
<
double
>(
"deltaRMax"
);
108
benchmarkLabel_
=
109
iConfig.
getParameter
<
string
>(
"BenchmarkLabel"
);
110
recPt
=
111
iConfig.
getParameter
<
double
>(
"recPt"
);
112
maxEta
=
113
iConfig.
getParameter
<
double
>(
"maxEta"
);
114
115
dbe_
=
edm::Service<DQMStore>
().
operator
->();
116
117
PFJetBenchmark_
.
setup
(
118
outjetfilename,
119
pfjBenchmarkDebug,
120
plotAgainstReco,
121
onlyTwoJets,
122
deltaRMax,
123
benchmarkLabel_,
124
recPt,
125
maxEta,
126
dbe_);
127
}
128
129
130
PFJetBenchmarkAnalyzer::~PFJetBenchmarkAnalyzer
()
131
{
132
// do anything here that needs to be done at desctruction time
133
// (e.g. close files, deallocate resources etc.)
134
}
135
136
137
//
138
// member functions
139
//
140
141
// ------------ method called to for each event ------------
142
void
143
PFJetBenchmarkAnalyzer::analyze
(
const
edm::Event
&
iEvent
,
144
const
edm::EventSetup
& iSetup)
145
{
146
// get gen jet collection
147
Handle<GenJetCollection>
genjets;
148
bool
isGen = iEvent.
getByLabel
(
sGenJetAlgo
, genjets);
149
if
(!isGen) {
150
std::cout
<<
"Warning : no Gen jets in input !"
<< std::endl;
151
return
;
152
}
153
154
// get rec PFJet collection
155
Handle<PFJetCollection>
pfjets;
156
bool
isReco = iEvent.
getByLabel
(
sJetAlgo
, pfjets);
157
if
(!isReco) {
158
std::cout
<<
"Warning : no PF jets in input !"
<< std::endl;
159
return
;
160
}
161
// Analyse (no "z" in "analyse" : we are in Europe, dammit!)
162
PFJetBenchmark_
.
process
(*pfjets, *genjets);
163
}
164
165
166
// ------------ method called once each job just before starting event loop ------------
167
void
168
PFJetBenchmarkAnalyzer::beginJob
()
169
{
170
171
}
172
173
// ------------ method called once each job just after ending the event loop ------------
174
void
175
PFJetBenchmarkAnalyzer::endJob
() {
176
// PFJetBenchmark_.save();
177
PFJetBenchmark_
.
write
();
178
}
179
180
//define this as a plug-in
181
DEFINE_FWK_MODULE
(
PFJetBenchmarkAnalyzer
);
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
BasicJetCollection.h
edm::Service< DQMStore >
onlyTwoJets
bool onlyTwoJets
Definition:
PFJetBenchmarkAnalyzer.cc:73
Vispa.Share.Profiling.analyze
def analyze
Definition:
Profiling.py:11
deltaRMax
double deltaRMax
Definition:
PFJetBenchmarkAnalyzer.cc:74
cppFunctionSkipper.operator
string operator
Definition:
cppFunctionSkipper.py:10
PFJetBenchmark::write
void write()
Definition:
PFJetBenchmark.cc:46
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:17
Event.h
CaloJetCollection.h
MakerMacros.h
PFJetBenchmarkAnalyzer
Definition:
PFJetBenchmarkAnalyzer.cc:51
PFJetBenchmark_
PFJetBenchmark PFJetBenchmark_
PFJet Benchmark.
Definition:
PFJetBenchmarkAnalyzer.cc:67
maxEta
double maxEta
Definition:
PFJetBenchmarkAnalyzer.cc:77
edm::Handle
Definition:
AssociativeIterator.h:48
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:105
outjetfilename
string outjetfilename
Definition:
PFJetBenchmarkAnalyzer.cc:70
Frameworkfwd.h
bk::beginJob
void beginJob()
Definition:
Breakpoints.cc:15
ParameterSet.h
PFJetBenchmarkAnalyzer::beginJob
virtual void beginJob()
Definition:
PFJetBenchmarkAnalyzer.cc:168
Candidate.h
DQMStore
Definition:
DQMStore.h:67
iEvent
int iEvent
Definition:
GenABIO.cc:243
PFJetBenchmark::setup
void setup(std::string Filename, bool debug, bool plotAgainstReco=0, bool onlyTwoJets=1, double deltaRMax=0.1, std::string benchmarkLabel_="ParticleFlow", double recPt=-1, double maxEta=-1, DQMStore *dbe_store=NULL)
Definition:
PFJetBenchmark.cc:63
Service.h
edm::EventSetup
Definition:
EventSetup.h:44
Jet.h
benchmarkLabel_
string benchmarkLabel_
Definition:
PFJetBenchmarkAnalyzer.cc:75
PFJetBenchmarkAnalyzer::analyze
virtual void analyze(const edm::Event &, const edm::EventSetup &)
Definition:
PFJetBenchmarkAnalyzer.cc:143
edm::Event::getByLabel
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition:
Event.h:356
edm::EDAnalyzer
Definition:
EDAnalyzer.h:14
EDAnalyzer.h
dbe_
DQMStore * dbe_
Definition:
PFJetBenchmarkAnalyzer.cc:78
PFJetBenchmark.h
PFJetBenchmark::process
void process(const reco::PFJetCollection &, const reco::GenJetCollection &)
Definition:
PFJetBenchmark.cc:230
PFJetBenchmarkAnalyzer::PFJetBenchmarkAnalyzer
PFJetBenchmarkAnalyzer(const edm::ParameterSet &)
Definition:
PFJetBenchmarkAnalyzer.cc:90
plotAgainstReco
bool plotAgainstReco
Definition:
PFJetBenchmarkAnalyzer.cc:72
sJetAlgo
InputTag sJetAlgo
Definition:
PFJetBenchmarkAnalyzer.cc:69
pfjBenchmarkDebug
bool pfjBenchmarkDebug
Definition:
PFJetBenchmarkAnalyzer.cc:71
sGenJetAlgo
InputTag sGenJetAlgo
Definition:
PFJetBenchmarkAnalyzer.cc:68
PFJetBenchmarkAnalyzer::~PFJetBenchmarkAnalyzer
~PFJetBenchmarkAnalyzer()
Definition:
PFJetBenchmarkAnalyzer.cc:130
edm::InputTag
Definition:
InputTag.h:12
InputTag.h
edm::ParameterSet
Definition:
ParameterSet.h:35
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:121
CandidateFwd.h
recPt
double recPt
Definition:
PFJetBenchmarkAnalyzer.cc:76
edm::Event
Definition:
Event.h:50
PFJetBenchmarkAnalyzer::endJob
virtual void endJob()
Definition:
PFJetBenchmarkAnalyzer.cc:175
PFJet.h
GenJet.h
PFJetBenchmark
Definition:
PFJetBenchmark.h:38
Generated for CMSSW Reference Manual by
1.8.5