ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetRec
JetRec
JetModifiedMassDrop.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// JetModifiedMassDrop.h
6
7
#ifndef JetModifiedMassDrop_H
8
#define JetModifiedMassDrop_H
9
10
// Joe Taenzer
11
// October 2016
12
//
13
// Tool to apply the modified mass drop tagger (mMDT) and groom jets by filtering with mMDT
14
// mMDT is described in this paper: arXiv:1307.0007
15
// See also: http://fastjet.hepforge.org/svn/contrib/contribs/RecursiveTools/tags/1.0.0/ModifiedMassDropTagger.hh
16
17
#include "
AsgTools/AsgTool.h
"
18
#include "
JetInterface/IJetGroomer.h
"
19
#include "
JetInterface/IJetFromPseudojet.h
"
20
#include "
AsgTools/ToolHandle.h
"
21
22
namespace
JetRecGroomingParams
{
23
enum
SymmetryMeasure : int;
24
enum
RecursionChoice : int;
25
}
26
27
28
class
JetModifiedMassDrop
29
:
public
asg::AsgTool
,
30
// public fastjet::contrib::RecursiveSymmetryCutBase,
31
virtual
public
IJetGroomer
{
32
ASG_TOOL_CLASS
(
JetModifiedMassDrop
,
IJetGroomer
)
33
34
public
:
35
36
// Equivalent enums to those defined in RecursiveSymmetryToolBase.hh
37
// Redefined here so they can be used in the python configuration
38
// See: http://fastjet.hepforge.org/svn/contrib/contribs/RecursiveTools/tags/1.0.0/RecursiveSymmetryCutBase.hh
40
enum
SymmetryMeasure
{
scalar_z
,
41
vector_z
,
42
y
43
44
};
45
47
enum
RecursionChoice
{
larger_pt
,
48
larger_mt
,
49
larger_m
50
};
51
52
// Ctor.
53
JetModifiedMassDrop
(
const
std::string& name);
54
55
// Dtor.
56
~JetModifiedMassDrop
();
57
58
// Initilization.
59
virtual
StatusCode
initialize
()
override
;
60
61
// Groom a jet and add result to a container.
62
virtual
int
groom
(
const
xAOD::Jet
& jin,
63
const
PseudoJetContainer
&,
64
xAOD::JetContainer
& jout)
const override
;
65
66
// Dump to log.
67
virtual
void
print
()
const override
;
68
69
private
:
// data
70
71
// Job options.
72
float
m_zcut
;
// Cut on the symmetry measure
73
float
m_mu
;
// Mass drop, mu = m_heavy/m_parent
74
bool
m_doFilt
;
// Filter the jet after mass drop grooming
75
double
m_filtR
;
// Filter radius to use
76
int
m_filtNSub
;
// Number of subjets to keep in the filter
77
78
// Symmetry measure to use, either y or scalar_z, default is y
79
int
m_sym
;
80
// Recursion choice, larger_pt or larger_mt, default is larger_pt
81
int
m_recursion
;
82
83
ToolHandle<IJetFromPseudojet>
m_bld
;
// Tool to build jets.
84
85
};
86
87
#endif
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
IJetFromPseudojet.h
IJetGroomer.h
ToolHandle.h
IJetGroomer::IJetGroomer
IJetGroomer()
Ctor.
Definition
IJetGroomer.cxx:11
JetModifiedMassDrop::print
virtual void print() const override
Print the state of the tool.
Definition
JetModifiedMassDrop.cxx:139
JetModifiedMassDrop::SymmetryMeasure
SymmetryMeasure
an enum of the different (a)symmetry measures that can be used
Definition
JetModifiedMassDrop.h:40
JetModifiedMassDrop::scalar_z
@ scalar_z
Definition
JetModifiedMassDrop.h:40
JetModifiedMassDrop::vector_z
@ vector_z
Definition
JetModifiedMassDrop.h:41
JetModifiedMassDrop::y
@ y
Definition
JetModifiedMassDrop.h:42
JetModifiedMassDrop::JetModifiedMassDrop
JetModifiedMassDrop(const std::string &name)
Definition
JetModifiedMassDrop.cxx:27
JetModifiedMassDrop::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
JetModifiedMassDrop.cxx:45
JetModifiedMassDrop::RecursionChoice
RecursionChoice
an enum for the options of how to choose which of two subjets to recurse into
Definition
JetModifiedMassDrop.h:47
JetModifiedMassDrop::larger_pt
@ larger_pt
choose the subjet with larger
Definition
JetModifiedMassDrop.h:47
JetModifiedMassDrop::larger_mt
@ larger_mt
choose the subjet with larger
Definition
JetModifiedMassDrop.h:48
JetModifiedMassDrop::larger_m
@ larger_m
choose the subjet with larger mass (deprecated)
Definition
JetModifiedMassDrop.h:49
JetModifiedMassDrop::groom
virtual int groom(const xAOD::Jet &jin, const PseudoJetContainer &, xAOD::JetContainer &jout) const override
Transform jet.
Definition
JetModifiedMassDrop.cxx:71
JetModifiedMassDrop::m_bld
ToolHandle< IJetFromPseudojet > m_bld
Definition
JetModifiedMassDrop.h:83
JetModifiedMassDrop::m_doFilt
bool m_doFilt
Definition
JetModifiedMassDrop.h:74
JetModifiedMassDrop::m_mu
float m_mu
Definition
JetModifiedMassDrop.h:73
JetModifiedMassDrop::m_filtR
double m_filtR
Definition
JetModifiedMassDrop.h:75
JetModifiedMassDrop::m_zcut
float m_zcut
Definition
JetModifiedMassDrop.h:72
JetModifiedMassDrop::m_filtNSub
int m_filtNSub
Definition
JetModifiedMassDrop.h:76
JetModifiedMassDrop::m_sym
int m_sym
Definition
JetModifiedMassDrop.h:79
JetModifiedMassDrop::~JetModifiedMassDrop
~JetModifiedMassDrop()
JetModifiedMassDrop::m_recursion
int m_recursion
Definition
JetModifiedMassDrop.h:81
PseudoJetContainer
Definition
PseudoJetContainer.h:48
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
JetRecGroomingParams
Definition
JetModifiedMassDrop.h:22
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0