ATLAS Offline Software
JetSubStructureMomentToolsBase.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 #ifndef jetsubstructuremomenttools_jetsubstructurebase_header
6 #define jetsubstructuremomenttools_jetsubstructurebase_header
7 
8 #include "xAODJet/Jet.h"
9 #include "xAODJet/JetContainer.h"
10 
11 #include "JetRec/JetModifierBase.h"
12 
13 namespace fastjet {
14  class PseudoJet;
15 }
16 
18  public JetModifierBase {
19 
20  public:
21 
22  // Constructor and destructor
23  JetSubStructureMomentToolsBase(const std::string& name);
24 
26 
27  protected:
28 
29  std::string m_inputContainer;
30  std::string m_prefix;
31 
32  bool SetupDecoration(fastjet::PseudoJet& pseudojet,const xAOD::Jet& jet, bool requireJetStructure=false) const;
33  bool checkForConstituents(const xAOD::Jet &jet) const {
34  if(jet.numConstituents() == 0) {
35  ATH_MSG_WARNING("Attempting to use a substructure tool on a jet that has no constituent");
36  return false;
37  } else {
38  return true;
39  }
40  }
41  fastjet::PseudoJet buildPseudoJet(const xAOD::Jet & jet, bool requireJetStructure=false) const;
42  fastjet::PseudoJet buildPseudoJet(const std::vector<const xAOD::IParticle*>& iparticles) const;
43 
44  // Print all configurable parameters
45  virtual void print() const;
46 
47  };
48 
49 #endif
JetSubStructureMomentToolsBase::buildPseudoJet
fastjet::PseudoJet buildPseudoJet(const xAOD::Jet &jet, bool requireJetStructure=false) const
Definition: JetSubStructureMomentToolsBase.cxx:54
Jet.h
fastjet
Definition: FastJetLinkBase.h:22
JetSubStructureMomentToolsBase::print
virtual void print() const
Print the state of the tool.
Definition: JetSubStructureMomentToolsBase.cxx:67
JetSubStructureMomentToolsBase::JetSubStructureMomentToolsBase
JetSubStructureMomentToolsBase(const std::string &name)
Definition: JetSubStructureMomentToolsBase.cxx:8
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSubStructureMomentToolsBase::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: JetSubStructureMomentToolsBase.cxx:15
JetSubStructureMomentToolsBase::checkForConstituents
bool checkForConstituents(const xAOD::Jet &jet) const
Definition: JetSubStructureMomentToolsBase.h:33
JetSubStructureMomentToolsBase::m_prefix
std::string m_prefix
Definition: JetSubStructureMomentToolsBase.h:30
JetSubStructureMomentToolsBase::SetupDecoration
bool SetupDecoration(fastjet::PseudoJet &pseudojet, const xAOD::Jet &jet, bool requireJetStructure=false) const
Definition: JetSubStructureMomentToolsBase.cxx:30
JetModifierBase.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
JetSubStructureMomentToolsBase::m_inputContainer
std::string m_inputContainer
Definition: JetSubStructureMomentToolsBase.h:29
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetContainer.h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
JetModifierBase
Definition: JetModifierBase.h:22