ATLAS Offline Software
Loading...
Searching...
No Matches
PileupAreaResidualCalibStep.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETCALIBTOOLS_PILEUPAREARESIDUALCALIBSTEP_H
6#define JETCALIBTOOLS_PILEUPAREARESIDUALCALIBSTEP_H 1
7
8/* PileupAreaResidualCalibStep performs the first step of the jet calibration
9 *
10 * - area subtraction in the form pT_corr = pT - rho x pT_area
11 * - residual correction (1D version)
12 *
13 */
14
18
19#include "AsgTools/AsgTool.h"
20#include "AsgTools/ToolHandle.h"
26
28 virtual public IJetCalibStep
29{
30
32
33 public:
34 PileupAreaResidualCalibStep(const std::string& name="PileupAreaResidualCalibStep");
35
36 virtual StatusCode initialize() override;
37
38 // Apply calibration to jet
39 virtual StatusCode calibrate(xAOD::JetContainer& jetCont) const override;
40
41 private:
42
43 double getResidualOffset(const xAOD::Jet& jet, const JetHelper::JetContext& jc, double mu, double NPV, bool MuOnly, bool NOnly) const;
44
45 Gaudi::Property<bool> m_isData{this, "IsData", false, ""};
46 Gaudi::Property<bool> m_doJetArea{this, "DoJetArea", false, "doc"};
47
50 SG::ReadHandleKey<xAOD::VertexContainer> m_pvKey{this, "PrimaryVerticesContainerName", "PrimaryVertices"};
51 SG::ReadDecorHandleKey<xAOD::EventInfo> m_muKey {this, "averageInteractionsPerCrossingKey",
52 "EventInfo.averageInteractionsPerCrossing","Decoration for Average Interaction Per Crossing"};
53
55 ToolHandle<JetHelper::IVarTool> m_histTool_mu = {this , "histTool_mu", "HistoInput1D", "mu histo reader" };
56 ToolHandle<JetHelper::IVarTool> m_histTool_NPV = {this , "histTool_NPV", "HistoInput1D", "npv histo reader" };
57
59 Gaudi::Property<bool> m_doMuOnly{this, "ApplyOnlyMuResidual", false, "doc"};
60 Gaudi::Property<bool> m_doNPVOnly{this, "ApplyOnlyNPVResidual", false, "doc"};
61
62 Gaudi::Property<float> m_NPV_ref{this , "DefaultNPVRef", -99., ""};
63 Gaudi::Property<float> m_mu_ref{this , "DefaultMuRef", -99., ""};
64 Gaudi::Property<float> m_muSF{this , "MuScaleFactor", 1., ""};
65
66 Gaudi::Property<bool> m_doSequentialResidual{this, "DoSequentialResidual", false, "doc"};
67
69 Gaudi::Property<std::string> m_jetInScale {this, "InScale", "JetConstitScaleMomentum", "Starting jet scale" };
70 Gaudi::Property<std::string> m_jetOutScale {this, "OutScale", "JetPileupScaleMomentum", "Ending jet scale" };
71
72};
73
74#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Class JetContext Designed to read AOD information related to the event, N vertices,...
Definition JetContext.h:23
PileupAreaResidualCalibStep(const std::string &name="PileupAreaResidualCalibStep")
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< std::string > m_jetInScale
In and out scales.
Gaudi::Property< bool > m_doMuOnly
Properties.
SG::ReadHandleKey< xAOD::EventShape > m_rhoKey
Event properties.
virtual StatusCode calibrate(xAOD::JetContainer &jetCont) const override
Apply calibration to a jet container.
ToolHandle< JetHelper::IVarTool > m_histTool_mu
Histograms with PU residual correction factors.
ToolHandle< JetHelper::IVarTool > m_histTool_NPV
Gaudi::Property< bool > m_doSequentialResidual
double getResidualOffset(const xAOD::Jet &jet, const JetHelper::JetContext &jc, double mu, double NPV, bool MuOnly, bool NOnly) const
SG::ReadDecorHandleKey< xAOD::EventInfo > m_muKey
SG::ReadHandleKey< xAOD::VertexContainer > m_pvKey
Gaudi::Property< std::string > m_jetOutScale
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Jet_v1 Jet
Definition of the current "jet version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".