ATLAS Offline Software
Reconstruction
Jet
JetRec
JetRec
JetSoftDrop.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
// JetSoftDrop.h
6
7
#ifndef JetSoftDrop_H
8
#define JetSoftDrop_H
9
10
// Joe Taenzer
11
// October 2016
12
//
13
// Tool to groom jets with softdrop.
14
// SoftDrop is described in this paper: arXiv:1402.2657
15
// See also: http://fastjet.hepforge.org/svn/contrib/contribs/RecursiveTools/tags/1.0.0/SoftDrop.hh
16
17
#include "
AsgTools/AsgTool.h
"
18
#include "
JetInterface/IJetGroomer.h
"
19
#include "
JetInterface/IJetFromPseudojet.h
"
20
#include "
AsgTools/ToolHandle.h
"
21
22
#include "fastjet/ClusterSequence.hh"
23
#include "fastjet/contrib/RecursiveSymmetryCutBase.hh"
24
#include "fastjet/contrib/SoftDrop.hh"
25
26
class
JetSoftDrop
27
:
public
asg::AsgTool
,
28
virtual
public
IJetGroomer
{
29
ASG_TOOL_CLASS
(
JetSoftDrop
,
IJetGroomer
)
30
31
public
:
32
33
// Ctor.
34
JetSoftDrop
(
const
std::string&
name
);
35
36
// Dtor.
37
~JetSoftDrop
();
38
39
// Initilization.
40
StatusCode
initialize
();
41
42
// Groom a jet and add result to a container.
43
int
groom
(
const
xAOD::Jet
& jin,
44
const
PseudoJetContainer
&,
45
xAOD::JetContainer
& jout)
const
;
46
47
// Dump to log.
48
void
print
()
const
;
49
50
private
:
// data
51
52
// Job options.
53
// SoftDrop algorithm:
54
// z > zcut * (dR12/R0)^beta
55
// z = min(pT1, pT2)/(pT1+pT2)
56
// R0 = characteristic jet radius
57
float
m_zcut
;
// pT fraction for retaining subjets
58
float
m_beta
;
// How much to consider angular dependence
59
float
m_R0
;
// Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)
60
ToolHandle<IJetFromPseudojet>
m_bld
;
// Tool to build jets.
61
62
};
63
64
#endif
JetSoftDrop::groom
int groom(const xAOD::Jet &jin, const PseudoJetContainer &, xAOD::JetContainer &jout) const
Transform jet.
Definition:
JetSoftDrop.cxx:60
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition:
AsgTool.h:47
JetSoftDrop::m_bld
ToolHandle< IJetFromPseudojet > m_bld
Definition:
JetSoftDrop.h:60
JetSoftDrop::~JetSoftDrop
~JetSoftDrop()
JetSoftDrop::JetSoftDrop
JetSoftDrop(const std::string &name)
Definition:
JetSoftDrop.cxx:22
JetSoftDrop::m_zcut
float m_zcut
Definition:
JetSoftDrop.h:57
PseudoJetContainer
Definition:
PseudoJetContainer.h:48
IJetFromPseudojet.h
JetSoftDrop::print
void print() const
Print the state of the tool.
Definition:
JetSoftDrop.cxx:102
IJetGroomer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSoftDrop
Definition:
JetSoftDrop.h:28
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:794
JetSoftDrop::m_R0
float m_R0
Definition:
JetSoftDrop.h:59
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
JetSoftDrop::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition:
JetSoftDrop.cxx:38
xAOD::Jet_v1
Class describing a jet.
Definition:
Jet_v1.h:57
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition:
AsgToolMacros.h:68
IJetGroomer
Definition:
IJetGroomer.h:23
ToolHandle.h
AsgTool.h
JetSoftDrop::m_beta
float m_beta
Definition:
JetSoftDrop.h:58
Generated on Sun Dec 22 2024 21:12:36 for ATLAS Offline Software by
1.8.18