ATLAS Offline Software
JetSplitter.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 // JetSplitter.h
6 
7 #ifndef JetSplitter_H
8 #define JetSplitter_H
9 
10 // David Adams
11 // January 2014
12 //
13 // Tool to groom jets with a mass-drop filter.
14 
15 #include "AsgTools/AsgTool.h"
18 #include "AsgTools/ToolHandle.h"
19 
20 class JetDumper;
21 
23 : public asg::AsgTool,
24  virtual public IJetGroomer {
26 
27 public:
28 
29  // Ctor.
30  JetSplitter(const std::string& name);
31 
32  // Dtor.
33  ~JetSplitter();
34 
35  // Initilization.
37 
38  // Groom a jet and add result to a container.
39  int groom(const xAOD::Jet& jin,
40  const PseudoJetContainer&,
41  xAOD::JetContainer& jout) const;
42 
43  // Dump to log.
44  void print() const;
45 
46 private: // data
47 
48  // Job options.
49  float m_mumax; // Jet size parameter.
50  float m_ymin; // pT min in MeV
51  ToolHandle<IJetFromPseudojet> m_bld; // Tool to build jets.
52  float m_rclus; // R for reclustering (0 for none)
53  bool m_bdrs; // If true use R = min(Rfilt/2,R)
54  int m_nsubjetmax; // Max number of subjets to retain.
55 
56  // Internal data.
57  JetDumper* m_pdmp; // Use to dump constituents in VERBOSE.
58 
59 };
60 
61 #endif
JetSplitter::JetSplitter
JetSplitter(const std::string &name)
Definition: JetSplitter.cxx:30
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
JetSplitter::m_nsubjetmax
int m_nsubjetmax
Definition: JetSplitter.h:54
JetSplitter::groom
int groom(const xAOD::Jet &jin, const PseudoJetContainer &, xAOD::JetContainer &jout) const
Transform jet.
Definition: JetSplitter.cxx:67
JetSplitter::m_bld
ToolHandle< IJetFromPseudojet > m_bld
Definition: JetSplitter.h:51
JetSplitter::print
void print() const
Print the state of the tool.
Definition: JetSplitter.cxx:163
PseudoJetContainer
Definition: PseudoJetContainer.h:48
JetSplitter::m_pdmp
JetDumper * m_pdmp
Definition: JetSplitter.h:57
IJetFromPseudojet.h
JetSplitter::m_ymin
float m_ymin
Definition: JetSplitter.h:50
JetSplitter::~JetSplitter
~JetSplitter()
Definition: JetSplitter.cxx:43
IJetGroomer.h
JetDumper
Tool to dump jets to the log.
Definition: JetDumper.h:55
JetSplitter::m_rclus
float m_rclus
Definition: JetSplitter.h:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSplitter::m_mumax
float m_mumax
Definition: JetSplitter.h:49
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
JetSplitter::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: JetSplitter.cxx:49
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
JetSplitter::m_bdrs
bool m_bdrs
Definition: JetSplitter.h:53
ToolHandle.h
AsgTool.h
JetSplitter
Definition: JetSplitter.h:24