ATLAS Offline Software
GSCCalibStep.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 // GSCCalibStep.h
8 // Header file for class GSCCalibStep
10 #ifndef JETCALIBTOOLS_GSCCALIBSTEP_H
11 #define JETCALIBTOOLS_GSCCALIBSTEP_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 
28 
30  : public asg::AsgTool,
31  virtual public IJetCalibStep {
32 
34 
35 public:
37  GSCCalibStep(const std::string& name = "GSCCalibStep");
38 
39  virtual StatusCode initialize() override;
40  virtual StatusCode calibrate(xAOD::JetContainer&) const override;
41 
42 private:
43  ToolHandle<JetHelper::IVarTool> m_vartool1 {this, "vartool1", "VarTool", "InputVariable instance" };
44  ToolHandle<JetHelper::IVarTool> m_vartool2 {this, "vartool2", "VarTool", "InputVariable instance" };
45  ToolHandle<JetHelper::IVarTool> m_histTool2D {this, "histTool", "HistoInput2D", "HistoInput2D instance" };
46  ToolHandleArray<JetHelper::IVarTool> m_histTool_EM3 = {this , "histTool_EM3", {}, "EM3 histo reader" };
47  ToolHandleArray<JetHelper::IVarTool> m_histTool_ChargedFraction = {this , "histTool_CharFrac", {}, "ChargedFraction histo reader" };
48  ToolHandleArray<JetHelper::IVarTool> m_histTool_Tile0 = {this , "histTool_Tile0", {}, "Tile0 histo reader" };
49  ToolHandleArray<JetHelper::IVarTool> m_histTool_PunchThrough = {this , "histTool_PunchThrough", {}, "PunchThrough histo reader" };
50  ToolHandleArray<JetHelper::IVarTool> m_histTool_nTrk = {this , "histTool_nTrk", {}, "nTrk histo reader" };
51  ToolHandleArray<JetHelper::IVarTool> m_histTool_trackWIDTH = {this , "histTool_trackWIDTH", {}, "trackWIDTH histo reader" };
52 
53 
54  float getChargedFractionResponse(const xAOD::Jet& jet, const JetHelper::JetContext& jc, uint etabin) const;
55  float getTile0Response(const xAOD::Jet& jet, const JetHelper::JetContext& jc, uint etabin) const;
56  float getEM3Response(const xAOD::Jet& jet, const JetHelper::JetContext& jc, uint etabin) const;
57  float getPunchThroughResponse(const xAOD::Jet& jet, const JetHelper::JetContext& jc, double eta_det) const;
58  float getNTrkResponse(const xAOD::Jet& jet, const JetHelper::JetContext& jc, uint etabin) const;
59  float getTrackWIDTHResponse(const xAOD::Jet& jet, const JetHelper::JetContext& jc, uint etabin) const;
60 
61 };
62 
63 #endif
GSCCalibStep::m_vartool1
ToolHandle< JetHelper::IVarTool > m_vartool1
Definition: GSCCalibStep.h:43
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
InputVariable.h
GSCCalibStep::getEM3Response
float getEM3Response(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Definition: GSCCalibStep.cxx:173
JetHelper::JetContext
Class JetContext Designed to read AOD information related to the event, N vertices,...
Definition: JetContext.h:24
GSCCalibStep::m_histTool_ChargedFraction
ToolHandleArray< JetHelper::IVarTool > m_histTool_ChargedFraction
Definition: GSCCalibStep.h:47
GSCCalibStep::m_histTool2D
ToolHandle< JetHelper::IVarTool > m_histTool2D
Definition: GSCCalibStep.h:45
IVarTool.h
GSCCalibStep::m_vartool2
ToolHandle< JetHelper::IVarTool > m_vartool2
Definition: GSCCalibStep.h:44
GSCCalibStep::getNTrkResponse
float getNTrkResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Definition: GSCCalibStep.cxx:200
IJetCalibStep.h
GSCCalibStep
Definition: GSCCalibStep.h:31
GSCCalibStep::getTile0Response
float getTile0Response(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Definition: GSCCalibStep.cxx:166
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
GSCCalibStep::GSCCalibStep
GSCCalibStep(const std::string &name="GSCCalibStep")
Constructor with parameters:
Definition: GSCCalibStep.cxx:15
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GSCCalibStep::m_histTool_nTrk
ToolHandleArray< JetHelper::IVarTool > m_histTool_nTrk
Definition: GSCCalibStep.h:50
GSCCalibStep::getTrackWIDTHResponse
float getTrackWIDTHResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Definition: GSCCalibStep.cxx:218
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
GSCCalibStep::getChargedFractionResponse
float getChargedFractionResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Definition: GSCCalibStep.cxx:159
IJetCalibTool.h
GSCCalibStep::m_histTool_trackWIDTH
ToolHandleArray< JetHelper::IVarTool > m_histTool_trackWIDTH
Definition: GSCCalibStep.h:51
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
GSCCalibStep::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: GSCCalibStep.cxx:24
EventInfo.h
IJetCalibStep
Definition: IJetCalibStep.h:27
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
GSCCalibStep::m_histTool_PunchThrough
ToolHandleArray< JetHelper::IVarTool > m_histTool_PunchThrough
Definition: GSCCalibStep.h:49
AsgToolMacros.h
ToolHandle.h
GSCCalibStep::m_histTool_EM3
ToolHandleArray< JetHelper::IVarTool > m_histTool_EM3
Definition: GSCCalibStep.h:46
AsgTool.h
GSCCalibStep::calibrate
virtual StatusCode calibrate(xAOD::JetContainer &) const override
Apply calibration to a jet container.
Definition: GSCCalibStep.cxx:42
GSCCalibStep::getPunchThroughResponse
float getPunchThroughResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, double eta_det) const
Definition: GSCCalibStep.cxx:180
GSCCalibStep::m_histTool_Tile0
ToolHandleArray< JetHelper::IVarTool > m_histTool_Tile0
Definition: GSCCalibStep.h:48