ATLAS Offline Software
JetEMScaleMomTool.h
Go to the documentation of this file.
1 // this file is -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef JETMOMENTTOOLS_JETEMSCALEMOMTOOL_H
8 #define JETMOMENTTOOLS_JETEMSCALEMOMTOOL_H
9 
10 #include "AsgTools/AsgTool.h"
15 #include "xAODJet/JetContainer.h"
16 #include <vector>
17 
19  virtual public IJetDecorator {
21 public:
22 
23  JetEMScaleMomTool(const std::string & t);
24 
25  virtual StatusCode initialize() override;
26  virtual StatusCode decorate(const xAOD::JetContainer& jets) const override;
27 
28 private:
29  Gaudi::Property<std::string> m_jetContainerName{this, "JetContainer", "", "SG key for the input jet container"};
30  // Should be false except if running on topoclusters except for the (legacy/cosmics?) case where
31  // jets were built from the CaloCalTopoClusters at EM scale
32  Gaudi::Property<bool> m_useUncalibConstits{this, "UseUncalibConstits", true, "Toggle for extracting the EMScale momentum from uncalibrated topoclusters"};
33 
34  SG::WriteDecorHandleKey<xAOD::JetContainer> m_emscalePtKey{this, "EMScalePtName", "JetEMScaleMomentum_pt", "SG key for the EMScale pt attribute"};
35  SG::WriteDecorHandleKey<xAOD::JetContainer> m_emscaleEtaKey{this, "EMScaleEtaName", "JetEMScaleMomentum_eta", "SG key for the EMScale eta attribute"};
36  SG::WriteDecorHandleKey<xAOD::JetContainer> m_emscalePhiKey{this, "EMScalePhiName", "JetEMScaleMomentum_phi", "SG key for the EMScale phi attribute"};
37  SG::WriteDecorHandleKey<xAOD::JetContainer> m_emscaleMassKey{this, "EMScaleMassName", "JetEMScaleMomentum_m", "SG key for the EMScale mass attribute"};
38 
39 };
40 
41 
42 #undef ASG_DERIVED_TOOL_CLASS
43 #endif
44 
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
JetEMScaleMomTool::JetEMScaleMomTool
JetEMScaleMomTool(const std::string &t)
Definition: JetEMScaleMomTool.cxx:49
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
IJetDecorator
Interface for adding a decoration to a jet container.
Definition: IJetDecorator.h:21
JetEMScaleMomTool::m_emscaleEtaKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_emscaleEtaKey
Definition: JetEMScaleMomTool.h:35
JetEMScaleMomTool::m_useUncalibConstits
Gaudi::Property< bool > m_useUncalibConstits
Definition: JetEMScaleMomTool.h:32
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
JetEMScaleMomTool
Definition: JetEMScaleMomTool.h:19
IJetDecorator.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
JetEMScaleMomTool::m_emscalePtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_emscalePtKey
Definition: JetEMScaleMomTool.h:34
JetEMScaleMomTool::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Definition: JetEMScaleMomTool.cxx:75
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_CLASS0
#define ASG_TOOL_CLASS0(CLASSNAME)
Definition: AsgToolMacros.h:62
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
JetEMScaleMomTool::m_emscalePhiKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_emscalePhiKey
Definition: JetEMScaleMomTool.h:36
JetEMScaleMomTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: JetEMScaleMomTool.h:29
JetEMScaleMomTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: JetEMScaleMomTool.cxx:54
WriteDecorHandleKey.h
JetContainer.h
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
JetEMScaleMomTool::m_emscaleMassKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_emscaleMassKey
Definition: JetEMScaleMomTool.h:37
AsgTool.h