ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetReclustering
JetReclustering
JetReclusteringTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef JetReclustering_JetReclusteringTool_H
6
#define JetReclustering_JetReclusteringTool_H
7
8
// making it more like a tool
9
#include "
AsgTools/AsgTool.h
"
10
#include "
AsgTools/AnaToolHandle.h
"
11
#include "
JetInterface/IJetExecuteTool.h
"
12
13
#include <map>
14
#include <memory>
15
16
/*
17
Author : Giordon Stark
18
Email : gstark@cern.ch
19
Thanks to Ben Nachman for inspiration, P-A for the help, Jon Burr for
20
assisting in dual-use conversion.
21
22
Takes a set of small-R jets and reclusters to large-R jets
23
*/
24
25
class
IJetModifier
;
26
//class IJetExecuteTool;
27
class
IJetFromPseudojet
;
28
class
IJetFinder
;
29
class
IJetGroomer
;
30
class
IPseudoJetGetter
;
31
class
IJetPseudojetRetriever
;
32
33
class
JetReclusteringTool
:
public
asg::AsgTool
,
virtual
public
IJetExecuteTool
{
34
public
:
35
ASG_TOOL_CLASS
(
JetReclusteringTool
,
IJetExecuteTool
)
36
JetReclusteringTool
(
const
std::string& myname);
37
38
// initialization - set up everything
39
virtual
StatusCode
initialize
()
override
;
40
41
// execute - build jets
42
virtual
int
execute
()
const override
;
43
44
// display the configuration
45
virtual
void
print
()
const override
;
46
47
private
:
48
// hold the class name
49
std::string
m_APP_NAME
=
"JetReclusteringTool"
;
50
51
/* Properties */
52
// input jet container to use as a constituent proxy
53
std::string
m_inputJetContainer
;
54
// output jet container to store reclustered jets
55
std::string
m_outputJetContainer
;
56
// radius of the reclustered jets
57
float
m_radius
;
58
// reclustering algorithm to use
59
std::string
m_rc_alg
;
60
/* variable R reclustering */
61
// minimum radius
62
float
m_varR_minR
;
63
// mass scale (GeV)
64
float
m_varR_mass
;
65
/* end variable R reclustering */
66
// minimum pt of the constituents (GeV)
67
float
m_ptMin_input
;
68
// minimum pt of the reclustered jets (GeV)
69
float
m_ptMin_rc
;
70
// trimming to apply to reclustered jets
71
float
m_ptFrac
;
72
float
m_subjet_radius
;
73
// enable to add area attributes form
74
bool
m_doArea
;
75
std::string
m_areaAttributes
;
76
77
// make sure someone only calls a function once
78
bool
m_isInitialized
=
false
;
79
// this is for filtering input jets
80
asg::AnaToolHandle<IJetModifier>
m_jetFilterTool
;
81
asg::AnaToolHandle<IJetExecuteTool>
m_inputJetFilterTool
;
82
// this is for reclustering using filtered input jets
83
asg::AnaToolHandle<IPseudoJetGetter>
m_pseudoJetGetterTool
;
84
asg::AnaToolHandle<IJetFromPseudojet>
m_jetFromPseudoJetTool
;
85
asg::AnaToolHandle<IJetFinder>
m_jetFinderTool
;
86
asg::AnaToolHandle<IJetExecuteTool>
m_reclusterJetTool
;
87
asg::AnaToolHandle<IJetExecuteTool>
m_trimJetTool
;
88
89
// tool for calculating effectiveR
90
asg::AnaToolHandle<IJetModifier>
m_effectiveRTool
;
91
// tool for trimming reclustered jet
92
asg::AnaToolHandle<IJetGroomer>
m_jetTrimmingTool
;
93
// tool for the jpjr for m_jetTrimmingTool
94
asg::AnaToolHandle<IJetPseudojetRetriever>
m_jetTrimmingTool_JPJR
;
95
// modifier tools for the reclustered jets
96
asg::AnaToolHandle<IJetModifier>
m_jetChargeTool
;
97
asg::AnaToolHandle<IJetModifier>
m_jetPullTool
;
98
asg::AnaToolHandle<IJetModifier>
m_energyCorrelatorTool
;
99
asg::AnaToolHandle<IJetModifier>
m_energyCorrelatorRatiosTool
;
100
asg::AnaToolHandle<IJetModifier>
m_ktSplittingScaleTool
;
101
asg::AnaToolHandle<IJetModifier>
m_dipolarityTool
;
102
asg::AnaToolHandle<IJetModifier>
m_centerOfMassShapesTool
;
103
asg::AnaToolHandle<IJetModifier>
m_nSubjettinessTool
;
104
};
105
106
#endif
AnaToolHandle.h
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
IJetExecuteTool.h
IJetExecuteTool
IJetExecuteTool is a dual-use tool interface for generic tools, i.e. those that behave like algorithm...
Definition
IJetExecuteTool.h:19
IJetFinder
IJetFinder is a dual-use tool interface for for a tool that modifies a jet collection.
Definition
IJetFinder.h:30
IJetFromPseudojet
IJetFromPseudojet is a dual-use tool interface for a tool that constructs a new ATLAS jet from a fast...
Definition
IJetFromPseudojet.h:24
IJetGroomer
Definition
IJetGroomer.h:23
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition
IJetModifier.h:20
IJetPseudojetRetriever
Definition
IJetPseudojetRetriever.h:27
IPseudoJetGetter
IPseudoJetGetter is a dual-use tool interface for retrieving a vector of fastjet pseudojets.
Definition
IPseudoJetGetter.h:27
JetReclusteringTool::m_areaAttributes
std::string m_areaAttributes
Definition
JetReclusteringTool.h:75
JetReclusteringTool::print
virtual void print() const override
Print the state of the tool.
Definition
JetReclusteringTool.cxx:275
JetReclusteringTool::m_inputJetContainer
std::string m_inputJetContainer
Definition
JetReclusteringTool.h:53
JetReclusteringTool::m_centerOfMassShapesTool
asg::AnaToolHandle< IJetModifier > m_centerOfMassShapesTool
Definition
JetReclusteringTool.h:102
JetReclusteringTool::m_ptMin_rc
float m_ptMin_rc
Definition
JetReclusteringTool.h:69
JetReclusteringTool::m_inputJetFilterTool
asg::AnaToolHandle< IJetExecuteTool > m_inputJetFilterTool
Definition
JetReclusteringTool.h:81
JetReclusteringTool::m_ptMin_input
float m_ptMin_input
Definition
JetReclusteringTool.h:67
JetReclusteringTool::m_isInitialized
bool m_isInitialized
Definition
JetReclusteringTool.h:78
JetReclusteringTool::m_doArea
bool m_doArea
Definition
JetReclusteringTool.h:74
JetReclusteringTool::m_varR_minR
float m_varR_minR
Definition
JetReclusteringTool.h:62
JetReclusteringTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
JetReclusteringTool.cxx:75
JetReclusteringTool::execute
virtual int execute() const override
Method to be called for each event.
Definition
JetReclusteringTool.cxx:256
JetReclusteringTool::m_nSubjettinessTool
asg::AnaToolHandle< IJetModifier > m_nSubjettinessTool
Definition
JetReclusteringTool.h:103
JetReclusteringTool::m_outputJetContainer
std::string m_outputJetContainer
Definition
JetReclusteringTool.h:55
JetReclusteringTool::m_reclusterJetTool
asg::AnaToolHandle< IJetExecuteTool > m_reclusterJetTool
Definition
JetReclusteringTool.h:86
JetReclusteringTool::m_pseudoJetGetterTool
asg::AnaToolHandle< IPseudoJetGetter > m_pseudoJetGetterTool
Definition
JetReclusteringTool.h:83
JetReclusteringTool::m_APP_NAME
std::string m_APP_NAME
Definition
JetReclusteringTool.h:49
JetReclusteringTool::m_jetFinderTool
asg::AnaToolHandle< IJetFinder > m_jetFinderTool
Definition
JetReclusteringTool.h:85
JetReclusteringTool::m_varR_mass
float m_varR_mass
Definition
JetReclusteringTool.h:64
JetReclusteringTool::m_jetFromPseudoJetTool
asg::AnaToolHandle< IJetFromPseudojet > m_jetFromPseudoJetTool
Definition
JetReclusteringTool.h:84
JetReclusteringTool::m_jetFilterTool
asg::AnaToolHandle< IJetModifier > m_jetFilterTool
Definition
JetReclusteringTool.h:80
JetReclusteringTool::JetReclusteringTool
JetReclusteringTool(const std::string &myname)
Definition
JetReclusteringTool.cxx:37
JetReclusteringTool::m_ktSplittingScaleTool
asg::AnaToolHandle< IJetModifier > m_ktSplittingScaleTool
Definition
JetReclusteringTool.h:100
JetReclusteringTool::m_rc_alg
std::string m_rc_alg
Definition
JetReclusteringTool.h:59
JetReclusteringTool::m_trimJetTool
asg::AnaToolHandle< IJetExecuteTool > m_trimJetTool
Definition
JetReclusteringTool.h:87
JetReclusteringTool::m_jetTrimmingTool
asg::AnaToolHandle< IJetGroomer > m_jetTrimmingTool
Definition
JetReclusteringTool.h:92
JetReclusteringTool::m_radius
float m_radius
Definition
JetReclusteringTool.h:57
JetReclusteringTool::m_jetPullTool
asg::AnaToolHandle< IJetModifier > m_jetPullTool
Definition
JetReclusteringTool.h:97
JetReclusteringTool::m_subjet_radius
float m_subjet_radius
Definition
JetReclusteringTool.h:72
JetReclusteringTool::m_jetChargeTool
asg::AnaToolHandle< IJetModifier > m_jetChargeTool
Definition
JetReclusteringTool.h:96
JetReclusteringTool::m_effectiveRTool
asg::AnaToolHandle< IJetModifier > m_effectiveRTool
Definition
JetReclusteringTool.h:90
JetReclusteringTool::m_jetTrimmingTool_JPJR
asg::AnaToolHandle< IJetPseudojetRetriever > m_jetTrimmingTool_JPJR
Definition
JetReclusteringTool.h:94
JetReclusteringTool::m_energyCorrelatorRatiosTool
asg::AnaToolHandle< IJetModifier > m_energyCorrelatorRatiosTool
Definition
JetReclusteringTool.h:99
JetReclusteringTool::m_dipolarityTool
asg::AnaToolHandle< IJetModifier > m_dipolarityTool
Definition
JetReclusteringTool.h:101
JetReclusteringTool::m_ptFrac
float m_ptFrac
Definition
JetReclusteringTool.h:71
JetReclusteringTool::m_energyCorrelatorTool
asg::AnaToolHandle< IJetModifier > m_energyCorrelatorTool
Definition
JetReclusteringTool.h:98
asg::AnaToolHandle
a modified tool handle that allows its owner to configure new tools from the C++ side
Definition
AnaToolHandle.h:167
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
Generated on
for ATLAS Offline Software by
1.17.0