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
RecoJets
JetProducers
plugins
CATopJetProducer.h
Go to the documentation of this file.
1
#ifndef RecoJets_JetProducers_CATopJetProducer_h
2
#define RecoJets_JetProducers_CATopJetProducer_h
3
4
/* *********************************************************
5
6
7
* \class CATopJetProducer
8
* Jet producer to produce top jets using the C-A algorithm to break
9
* jets into subjets as described here:
10
* "Top-tagging: A Method for Identifying Boosted Hadronic Tops"
11
* David E. Kaplan, Keith Rehermann, Matthew D. Schwartz, Brock Tweedie
12
* arXiv:0806.0848v1 [hep-ph]
13
14
\brief Jet producer to run the CATopJetAlgorithm
15
16
\author Salvatore Rappoccio
17
\version
18
19
Notes on implementation:
20
21
Because the BaseJetProducer only allows the user to produce
22
one jet collection at a time, this algorithm cannot
23
fit into that paradigm.
24
25
All of the "hard" jets are of type BasicJet, since
26
they are "jets of jets". The subjets will be either
27
CaloJets, GenJets, etc.
28
29
In order to avoid a templatization of the entire
30
EDProducer itself, we only use a templated method
31
to write out the subjets to the event record,
32
and to use that information to write out the
33
hard jets to the event record.
34
35
This templated method is called "write_outputs". It
36
relies on a second templated method called "write_specific",
37
which relies on some template specialization to create
38
different specific objects (i.e. CaloJets, BasicJets, GenJets, etc).
39
40
************************************************************/
41
42
#include "
FWCore/Framework/interface/Event.h
"
43
#include "
FWCore/Framework/interface/EventSetup.h
"
44
#include "
DataFormats/Common/interface/View.h
"
45
#include "
DataFormats/Common/interface/Handle.h
"
46
#include "
DataFormats/Provenance/interface/ProductID.h
"
47
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
48
#include "
FWCore/ParameterSet/interface/ConfigurationDescriptions.h
"
49
#include "
FWCore/ParameterSet/interface/ParameterSetDescription.h
"
50
51
#include "
DataFormats/JetReco/interface/CaloJetCollection.h
"
52
#include "
DataFormats/JetReco/interface/GenJetCollection.h
"
53
#include "
DataFormats/JetReco/interface/PFJetCollection.h
"
54
#include "
DataFormats/JetReco/interface/BasicJetCollection.h
"
55
#include "
RecoJets/JetAlgorithms/interface/JetAlgoHelper.h
"
56
#include "
DataFormats/Candidate/interface/CandidateFwd.h
"
57
#include "
DataFormats/Candidate/interface/LeafCandidate.h
"
58
#include "
FWCore/Framework/interface/ESHandle.h
"
59
#include "
Geometry/CaloGeometry/interface/CaloGeometry.h
"
60
#include "
Geometry/Records/interface/CaloGeometryRecord.h
"
61
62
#include "
RecoJets/JetProducers/plugins/FastjetJetProducer.h
"
63
#include "
RecoJets/JetAlgorithms/interface/CATopJetAlgorithm.h
"
64
#include "
CATopJetProducer.h
"
65
#include "
RecoJets/JetAlgorithms/interface/CMSTopTagger.h
"
66
67
#include <fastjet/tools/RestFrameNSubjettinessTagger.hh>
68
#include "fastjet/SISConePlugin.hh"
69
70
namespace
cms
{
71
class
CATopJetProducer
:
public
FastjetJetProducer
{
72
public
:
73
CATopJetProducer
(
const
edm::ParameterSet
& ps);
74
75
~CATopJetProducer
()
override
{}
76
static
void
fillDescriptions
(
edm::ConfigurationDescriptions
& descriptions);
77
78
void
produce
(
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup)
override
;
79
80
void
runAlgorithm
(
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup)
override
;
81
82
private
:
83
std::unique_ptr<CATopJetAlgorithm>
legacyCMSTopTagger_
;
84
std::unique_ptr<fastjet::CMSTopTagger>
fjCMSTopTagger_
;
// The FastJet implementation of the CMS tagger
85
std::unique_ptr<fastjet::JHTopTagger>
fjJHUTopTagger_
;
86
std::unique_ptr<fastjet::RestFrameNSubjettinessTagger>
fjNSUBTagger_
;
87
88
int
tagAlgo_
;
89
double
ptMin_
;
90
double
centralEtaCut_
;
91
bool
verbose_
;
92
enum
tagalgos
{
CA_TOPTAGGER
,
FJ_CMS_TOPTAG
,
FJ_JHU_TOPTAG
,
FJ_NSUB_TAG
};
93
};
94
95
}
// namespace cms
96
97
#endif
ConfigurationDescriptions.h
cms::CATopJetProducer::tagAlgo_
int tagAlgo_
Definition:
CATopJetProducer.h:88
CaloJetCollection.h
GenJetCollection.h
cms::CATopJetProducer::FJ_CMS_TOPTAG
Definition:
CATopJetProducer.h:92
cms::CATopJetProducer::produce
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition:
CATopJetProducer.cc:66
Handle.h
CMSTopTagger.h
MessageLogger.h
cms::CATopJetProducer::tagalgos
tagalgos
Definition:
CATopJetProducer.h:92
ESHandle.h
cms::CATopJetProducer::ptMin_
double ptMin_
Definition:
CATopJetProducer.h:89
PFJetCollection.h
cms::CATopJetProducer::fjNSUBTagger_
std::unique_ptr< fastjet::RestFrameNSubjettinessTagger > fjNSUBTagger_
Definition:
CATopJetProducer.h:86
BasicJetCollection.h
CandidateFwd.h
cms::CATopJetProducer::legacyCMSTopTagger_
std::unique_ptr< CATopJetAlgorithm > legacyCMSTopTagger_
Definition:
CATopJetProducer.h:83
cms::CATopJetProducer::FJ_JHU_TOPTAG
Definition:
CATopJetProducer.h:92
JetAlgoHelper.h
cms::CATopJetProducer::fjJHUTopTagger_
std::unique_ptr< fastjet::JHTopTagger > fjJHUTopTagger_
Definition:
CATopJetProducer.h:85
ProductID.h
LeafCandidate.h
cms::CATopJetProducer::runAlgorithm
void runAlgorithm(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition:
CATopJetProducer.cc:68
cms::CATopJetProducer::CATopJetProducer
CATopJetProducer(const edm::ParameterSet &ps)
Definition:
CATopJetProducer.cc:13
ParameterSetDescription.h
cms::CATopJetProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition:
CATopJetProducer.cc:123
CATopJetAlgorithm.h
CaloGeometryRecord.h
edm::ConfigurationDescriptions
Definition:
ConfigurationDescriptions.h:28
cms::CATopJetProducer::verbose_
bool verbose_
Definition:
CATopJetProducer.h:91
edm::ParameterSet
Definition:
ParameterSet.h:36
Event.h
iEvent
int iEvent
Definition:
GenABIO.cc:224
edm::EventSetup
Definition:
EventSetup.h:57
cms::CATopJetProducer::FJ_NSUB_TAG
Definition:
CATopJetProducer.h:92
FastjetJetProducer.h
cms::CATopJetProducer::centralEtaCut_
double centralEtaCut_
Definition:
CATopJetProducer.h:90
cms::CATopJetProducer::CA_TOPTAGGER
Definition:
CATopJetProducer.h:92
CaloGeometry.h
EventSetup.h
CATopJetProducer.h
View.h
cms::CATopJetProducer::~CATopJetProducer
~CATopJetProducer() override
Definition:
CATopJetProducer.h:75
edm::Event
Definition:
Event.h:73
FastjetJetProducer
Definition:
FastjetJetProducer.h:41
cms::CATopJetProducer::fjCMSTopTagger_
std::unique_ptr< fastjet::CMSTopTagger > fjCMSTopTagger_
The algorithm to do the work.
Definition:
CATopJetProducer.h:84
cms
Namespace of DDCMS conversion namespace.
Definition:
ProducerAnalyzer.cc:21
cms::CATopJetProducer
Definition:
CATopJetProducer.h:71
Generated for CMSSW Reference Manual by
1.8.16