ATLAS Offline Software
Loading...
Searching...
No Matches
Generic4VecCorrectionStep.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_GENERIC4VECCORRECTIONSTEP_H
6#define JETCALIBTOOLS_GENERIC4VECCORRECTIONSTEP_H 1
7
9// Header file for class Generic4VecCorrection
10// Implementation of generic four-vector scaling corrections
11// Used e.g. for residual AF3 or pT corrections after GSC
13
14#include <string>
15#include <map>
16#include "TAxis.h"
17
18#include "AsgTools/AsgTool.h"
20#include "AsgTools/ToolHandle.h"
22
25
27
29 : public asg::AsgTool,
30 virtual public IJetCalibStep {
31
33
34public:
36 Generic4VecCorrectionStep(const std::string& name = "Generic4VecCorrectionStep");
37
38 virtual StatusCode initialize() override;
39 virtual StatusCode calibrate(xAOD::JetContainer&) const override;
40
41private:
42 Gaudi::Property<std::string> m_jetInScale {this, "InScale", "JetGSCScaleMomentum", "Starting jet scale"};
43 Gaudi::Property<std::string> m_jetOutScale {this, "OutScale", "", "Ending jet scale"};
44
46 ToolHandle<JetHelper::IVarTool> m_histTool {this, "histoTool", "", "Generic calibration factor"};
47
49 Gaudi::Property<bool> m_useBinCenter = {this, "useBinCenter", false, "boolean to switch to bin center"};
51 ToolHandle<JetHelper::IVarTool> m_varTool {this, "varTool", "", "input variable for eta, y, detectorEta"};
52
54
56 Gaudi::Property< bool > m_isMC2MCCorr = {this, "isMC2MCCorr", false, "MC2MC correction?"};
57 Gaudi::Property< bool > m_doCjetCorrection = {this, "doCjetCorrection", false, "should c-jets be corrected?"};
58 Gaudi::Property< bool > m_doBjetCorrection = {this, "doBjetCorrection", false, "should b-jets be corrected?"};
59
61 Gaudi::Property<std::string> m_pidLabel = {this, "PIDLabel", "PartonTruthLabelID", "Parton truth label"};
62
64 ToolHandle<JetHelper::IVarTool> m_hist_q {this, "mc2mcHist_q", "", "2D MC2MC light quark calibration"};
66 ToolHandle<JetHelper::IVarTool> m_hist_g {this, "mc2mcHist_g", "", "2D MC2MC gluon calibration"};
68 ToolHandle<JetHelper::IVarTool> m_hist_c {this, "mc2mcHist_c", "", "2D MC2MC charm quark calibration"};
70 ToolHandle<JetHelper::IVarTool> m_hist_b {this, "mc2mcHist_b", "", "2D MC2MC bottom quark calibration"};
71
72 std::map<int, ToolHandle<JetHelper::IVarTool> > m_correctionHists;
73
75 TAxis m_etaAxis;
76
77};
78
79#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
ATLAS-specific HepMC functions.
Gaudi::Property< std::string > m_jetOutScale
TAxis m_etaAxis
Needed to avoid interpolation between eta bins.
ToolHandle< JetHelper::IVarTool > m_varTool
Variable to be used for bin center.
Generic4VecCorrectionStep(const std::string &name="Generic4VecCorrectionStep")
Constructor with parameters:
Gaudi::Property< bool > m_isMC2MCCorr
Properties for MC2MC correction:
std::map< int, ToolHandle< JetHelper::IVarTool > > m_correctionHists
Gaudi::Property< bool > m_useBinCenter
use bin center to avoid interpolation along eta (e.g. for PtResidual correction)
virtual StatusCode calibrate(xAOD::JetContainer &) const override
Apply calibration to a jet container.
ToolHandle< JetHelper::IVarTool > m_hist_c
2D histogram containing the calibration factors for charm quarks
ToolHandle< JetHelper::IVarTool > m_hist_g
2D histogram containing the calibration factors for gluons
ToolHandle< JetHelper::IVarTool > m_hist_q
2D histogram containing the calibration factors for light quarks
Gaudi::Property< std::string > m_jetInScale
ToolHandle< JetHelper::IVarTool > m_histTool
Generic histogram with correction factor (e.g. 2D)
Gaudi::Property< std::string > m_pidLabel
Which truth label should be used.
Gaudi::Property< bool > m_doCjetCorrection
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
ToolHandle< JetHelper::IVarTool > m_hist_b
2D histogram containing the calibration factors for bottom quarks
Gaudi::Property< bool > m_doBjetCorrection
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
JetContainer_v1 JetContainer
Definition of the current "jet container version".