ATLAS Offline Software
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"
20 #include "AsgTools/ToolHandle.h"
21 
22 #include "fastjet/ClusterSequence.hh"
23 #include "fastjet/contrib/RecursiveSymmetryCutBase.hh"
24 #include "fastjet/contrib/SoftDrop.hh"
25 
27 : public asg::AsgTool,
28  virtual public IJetGroomer {
30 
31 public:
32 
33  // Ctor.
34  JetSoftDrop(const std::string& name);
35 
36  // Dtor.
38 
39  // Initilization.
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:581
JetSoftDrop::m_R0
float m_R0
Definition: JetSoftDrop.h:59
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
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