ATLAS Offline Software
JetCalibTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // JetCalibTool.h
8 // Header file for class JetCalibTool
10 #ifndef JETCALIBTOOLS_JETCALIBTOOL_H
11 #define JETCALIBTOOLS_JETCALIBTOOL_H 1
12 
13 #include <string.h>
14 
15 #include <TString.h>
16 #include <TEnv.h>
17 
18 #include "AsgTools/AsgTool.h"
19 #include "AsgTools/AsgToolMacros.h"
20 #include "AsgTools/ToolHandle.h"
21 
23 
26 
27 
29  : public asg::AsgTool,
30  virtual public IJetCalibTool {
31 
33 
34 public:
36  JetCalibTool(const std::string& name = "JetCalibTool");
37 
38  virtual StatusCode initialize() override;
39  virtual StatusCode calibrate(xAOD::JetContainer&) const override;
40 
41  // Get the nominal resolution
42  virtual StatusCode getNominalResolutionData(const xAOD::Jet& jet, const JetHelper::JetContext&, double& resolution) const override;
43  virtual StatusCode getNominalResolutionMC( const xAOD::Jet& jet, const JetHelper::JetContext&, double& resolution) const override;
44 
45 private:
46 
47 
48 private:
49 
50  ToolHandleArray<IJetCalibStep> m_calibSteps {this , "CalibSteps", {}, "calibration steps as IJetCalibStep" };
51 
52  ToolHandle<IJetCalibStep> m_smearingTool {this , "SmearingTool", {}, "smearing tool as a IJetCalibStep" };
53 
54 };
55 
56 #endif //> !JETCALIBTOOLS_APPLYJETCALIBRATION_H
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
JetHelper::JetContext
Class JetContext Designed to read AOD information related to the event, N vertices,...
Definition: JetContext.h:24
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
IJetCalibTool
This interface is superseding the old version, IJetCalibrationTool.
Definition: IJetCalibTool.h:31
JetCalibTool::getNominalResolutionMC
virtual StatusCode getNominalResolutionMC(const xAOD::Jet &jet, const JetHelper::JetContext &, double &resolution) const override
Definition: JetCalibTool.cxx:55
Dedxcorrection::resolution
double resolution[nGasTypes][nParametersResolution]
Definition: TRT_ToT_Corrections.h:46
JetCalibTool
Definition: JetCalibTool.h:30
IJetCalibStep.h
JetCalibTool::m_smearingTool
ToolHandle< IJetCalibStep > m_smearingTool
Definition: JetCalibTool.h:52
JetCalibTool::m_calibSteps
ToolHandleArray< IJetCalibStep > m_calibSteps
Definition: JetCalibTool.h:50
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
JetCalibTool::JetCalibTool
JetCalibTool(const std::string &name="JetCalibTool")
Constructor with parameters:
Definition: JetCalibTool.cxx:15
IJetCalibTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
EventInfo.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetCalibTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: JetCalibTool.cxx:24
JetCalibTool::getNominalResolutionData
virtual StatusCode getNominalResolutionData(const xAOD::Jet &jet, const JetHelper::JetContext &, double &resolution) const override
Definition: JetCalibTool.cxx:46
AsgToolMacros.h
ToolHandle.h
AsgTool.h
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition: IJetModifier.h:20
JetCalibTool::calibrate
virtual StatusCode calibrate(xAOD::JetContainer &) const override
Apply calibration to a jet container.
Definition: JetCalibTool.cxx:36