ATLAS Offline Software
KTSplittingScaleTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
8 
10 
13 {
14 }
15 
17  if(m_jetContainerName.empty()){
18  ATH_MSG_ERROR("KTSplittingScaleTool needs to have its input jet container name configured!");
19  return StatusCode::FAILURE;
20  }
21 
25 
29 
33 
37 
38  return StatusCode::SUCCESS;
39 }
40 
42 {
43 
47 
51 
52  for(const xAOD::Jet* injet : jets){
53  fastjet::PseudoJet jet;
54  bool decorate = SetupDecoration(jet, *injet);
55 
56  float Split12_value = -999, Split23_value = -999, Split34_value = -999,
57  ZCut12_value = -999, ZCut23_value = -999, ZCut34_value = -999;
58 
59  if (decorate) {
63  Split12_value = split12.result(jet);
64  Split23_value = split23.result(jet);
65  Split34_value = split34.result(jet);
66 
70 
71  ZCut12_value = zcut12.result(jet);
72  ZCut23_value = zcut23.result(jet);
73  ZCut34_value = zcut34.result(jet);
74  }
75 
76  wdh_Split12(*injet) = Split12_value;
77  wdh_Split23(*injet) = Split23_value;
78  wdh_Split34(*injet) = Split34_value;
79 
80  wdh_ZCut12(*injet) = ZCut12_value;
81  wdh_ZCut23(*injet) = ZCut23_value;
82  wdh_ZCut34(*injet) = ZCut34_value;
83  }
84 
85  return StatusCode::SUCCESS;
86 }
KTSplittingScaleTool::m_Split34_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_Split34_Key
Definition: KTSplittingScaleTool.h:33
ZCut.h
KTSplittingScaleTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: KTSplittingScaleTool.cxx:16
KTSplittingScaleTool::KTSplittingScaleTool
KTSplittingScaleTool(const std::string &name)
Definition: KTSplittingScaleTool.cxx:11
KtSplittingScale.h
JetSubStructureUtils::KtSplittingScale
Definition: KtSplittingScale.h:11
KTSplittingScaleTool::m_ZCut12_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ZCut12_Key
Definition: KTSplittingScaleTool.h:36
JetSubStructureUtils::ZCut::result
virtual double result(const fastjet::PseudoJet &jet) const
Definition: ZCut.cxx:13
defineDB.jets
jets
Definition: JetTagCalibration/share/defineDB.py:24
KTSplittingScaleTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: KTSplittingScaleTool.h:26
JetSubStructureUtils::ZCut
Definition: ZCut.h:11
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
python.DecoratorFactory.decorate
def decorate(hto4l_controller, decorator, **kwargs)
Definition: Hto4lControl/python/DecoratorFactory.py:5
KTSplittingScaleTool::m_Split23_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_Split23_Key
Definition: KTSplittingScaleTool.h:31
KTSplittingScaleTool::m_Split12_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_Split12_Key
Definition: KTSplittingScaleTool.h:29
KTSplittingScaleTool::m_ZCut34_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ZCut34_Key
Definition: KTSplittingScaleTool.h:40
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
KTSplittingScaleTool::m_ZCut23_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ZCut23_Key
Definition: KTSplittingScaleTool.h:38
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
KTSplittingScaleTool::modify
StatusCode modify(xAOD::JetContainer &jets) const override
Loop over calls to modifyJet.
Definition: KTSplittingScaleTool.cxx:41
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
WriteDecorHandle.h
Handle class for adding a decoration to an object.
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
KTSplittingScaleTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
SG::WriteDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
JetSubStructureUtils::KtSplittingScale::result
virtual double result(const fastjet::PseudoJet &jet) const
Definition: KtSplittingScale.cxx:12