10#ifndef JETCALIBTOOLS_GSCCALIBSTEP_H
11#define JETCALIBTOOLS_GSCCALIBSTEP_H 1
42 Gaudi::Property<std::string>
m_jetInScale {
this,
"InScale",
"JetEtaJESScaleMomentum",
"Starting jet scale"};
43 Gaudi::Property<std::string>
m_jetOutScale {
this,
"OutScale",
"JetGSCScaleMomentum",
"Ending jet scale"};
45 ToolHandleArray<JetHelper::IVarTool>
m_histTool_EM3 = {this ,
"histTool_EM3", {},
"EM3 histo reader" };
47 ToolHandleArray<JetHelper::IVarTool>
m_histTool_Tile0 = {this ,
"histTool_Tile0", {},
"Tile0 histo reader" };
48 ToolHandleArray<JetHelper::IVarTool>
m_histTool_PunchThrough = {this ,
"histTool_PunchThrough", {},
"PunchThrough histo reader" };
49 ToolHandleArray<JetHelper::IVarTool>
m_histTool_nTrk = {this ,
"histTool_nTrk", {},
"nTrk histo reader" };
50 ToolHandleArray<JetHelper::IVarTool>
m_histTool_trackWIDTH = {this ,
"histTool_trackWIDTH", {},
"trackWIDTH histo reader" };
53 Gaudi::Property<bool>
m_applyPunchThrough {
this,
"applyPunchThrough",
false,
"Boolean to turn on punch-through corretion"};
54 Gaudi::Property<std::vector<double>>
m_punchThroughEtaBins {
this,
"PunchThroughEtaBins", {},
"Eta bins for punch through correction"};
55 Gaudi::Property<float>
m_punchThroughMinPt{
this,
"punchThroughMinPt", 50000.,
"Threshold for punch-through correction"};
float getPunchThroughResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, double eta_det) const
Gaudi::Property< std::vector< double > > m_punchThroughEtaBins
ToolHandleArray< JetHelper::IVarTool > m_histTool_ChargedFraction
virtual StatusCode calibrate(xAOD::JetContainer &) const override
Apply calibration to a jet container.
ToolHandleArray< JetHelper::IVarTool > m_histTool_trackWIDTH
float getNTrkResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Gaudi::Property< std::string > m_jetInScale
ToolHandleArray< JetHelper::IVarTool > m_histTool_EM3
float getTile0Response(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer_key
Gaudi::Property< std::string > m_jetOutScale
const xAOD::Vertex * findHSVertex(const xAOD::VertexContainer &vertices) const
Retrieve hard scatter vertex for its index. Return nullptr if one cannot be found.
float getEM3Response(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
ToolHandleArray< JetHelper::IVarTool > m_histTool_Tile0
float getTrackWIDTHResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
ToolHandleArray< JetHelper::IVarTool > m_histTool_PunchThrough
ToolHandleArray< JetHelper::IVarTool > m_histTool_nTrk
float getChargedFractionResponse(const xAOD::Jet &jet, const JetHelper::JetContext &jc, uint etabin) const
Functions for retrieving the correction factors.
Gaudi::Property< float > m_punchThroughMinPt
Gaudi::Property< bool > m_applyPunchThrough
Properties for the punch-through correction:
GSCCalibStep(const std::string &name="GSCCalibStep")
Constructor with parameters:
Class JetContext Designed to read AOD information related to the event, N vertices,...
Property holding a SG store/key/clid from which a ReadHandle is made.
Jet_v1 Jet
Definition of the current "jet version".
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
JetContainer_v1 JetContainer
Definition of the current "jet container version".