ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetCalibTools
JetCalibTools
JetCalibrationTool.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// JetCalibrationTool.h
8
// Header file for class JetCalibrationTool
10
#ifndef JETCALIBTOOLS_APPLYJETCALIBRATION_H
11
#define JETCALIBTOOLS_APPLYJETCALIBRATION_H 1
12
13
#include <string.h>
14
15
#include <TString.h>
16
#include <TEnv.h>
17
18
#include "
AsgTools/AsgMetadataTool.h
"
19
#include "
AsgTools/AsgToolMacros.h
"
20
21
#include "
xAODEventInfo/EventInfo.h
"
22
#include "
xAODTracking/VertexContainer.h
"
23
#include "
xAODEventShape/EventShape.h
"
24
#include "
AsgDataHandles/ReadDecorHandleKey.h
"
25
26
#include "
JetCalibTools/IJetCalibrationTool.h
"
27
#include "
JetCalibTools/JetEventInfo.h
"
28
#include "
JetCalibTools/JetCalibrationStep.h
"
29
30
31
class
JetCalibrationTool
32
:
public
asg::AsgMetadataTool
,
33
virtual
public
IJetCalibrationTool
{
34
35
ASG_TOOL_CLASS2
(
JetCalibrationTool
,
IJetCalibrationTool
,
IJetModifier
)
36
37
public
:
39
JetCalibrationTool
(
const
std::string& name =
"JetCalibrationTool"
);
40
42
~JetCalibrationTool
();
43
44
enum
jetScale
{
EM
,
LC
,
PFLOW
};
45
46
StatusCode
initialize
()
override
;
47
48
StatusCode
applyCalibration
(
xAOD::JetContainer
&)
const override
;
49
50
// Get the nominal resolution
51
StatusCode
getNominalResolutionData
(
const
xAOD::Jet
&
jet
,
double
& resolution)
const override
;
52
StatusCode
getNominalResolutionMC
(
const
xAOD::Jet
&
jet
,
double
& resolution)
const override
;
53
StatusCode
getNominalResolutionHist
(
const
xAOD::Jet
&
jet
,
double
& resolution,
const
TH2D* histo)
const
;
54
55
private
:
56
StatusCode
calibrate
(
xAOD::Jet
&
jet
,
JetEventInfo
& jetEventInfo)
const
;
57
//Set event by event info like rho, mu, NPV
58
StatusCode
initializeEvent
(
JetEventInfo
& jetEventInfo)
const
;
59
//Add an item to the vector of calibration steps
60
StatusCode
getCalibClass
(
const
TString& calibration);
61
62
//Private members
63
private
:
64
SG::ReadHandleKey<xAOD::EventInfo>
m_evtInfoKey
{
this
,
"EventInfoKey"
,
"EventInfo"
};
65
SG::ReadHandleKey<xAOD::EventShape>
m_rhoKey
{
this
,
"RhoKey"
,
"auto"
};
66
SG::ReadHandleKey<xAOD::VertexContainer>
m_pvKey
{
this
,
"PrimaryVerticesContainerName"
,
"PrimaryVertices"
};
67
SG::ReadDecorHandleKey<xAOD::EventInfo>
m_muKey
{
this
,
"averageInteractionsPerCrossingKey"
,
68
"EventInfo.averageInteractionsPerCrossing"
,
"Decoration for Average Interaction Per Crossing"
};
69
SG::ReadDecorHandleKey<xAOD::EventInfo>
m_actualMuKey
{
this
,
"actualInteractionsPerCrossing"
,
70
"EventInfo.actualInteractionsPerCrossing"
,
"Decoration for Actual Number of Interactions Per Crossing"
};
71
72
//Variables for configuration
73
std::string
m_jetAlgo
;
74
std::string
m_config
;
75
std::string
m_calibSeq
;
76
std::string
m_calibAreaTag
;
77
std::string
m_originScale
;
78
bool
m_devMode
{};
79
bool
m_isData
{
true
};
80
std::string
m_forceCampaign
{};
81
bool
m_timeDependentCalib
{};
82
bool
m_originCorrectedClusters
{};
83
bool
m_useNjetInResidual
{};
84
float
m_nJetThreshold
{};
85
std::string
m_nJetContainerName
;
86
std::string
m_dir
;
87
std::string
m_eInfoName
;
88
std::vector<TString>
m_timeDependentInsituConfigs
;
89
std::vector<double>
m_runBins
;
90
bool
m_doSetDetectorEta
{};
91
bool
m_insituCombMassCalib
{};
92
std::vector<TString>
m_insituCombMassConfig
;
93
std::string
m_forceCalibFile_PtResidual
{};
94
std::string
m_forceCalibFile_FastSim
{};
95
std::string
m_forceCalibFile_MC2MC
{};
96
97
//TEnv to hold the global text config
98
TEnv *
m_globalConfig
{};
99
std::vector<TEnv*>
m_globalTimeDependentConfigs
;
100
std::vector<TEnv*>
m_globalInsituCombMassConfig
;
101
102
//Bools/enums to avoid string comparisons at run time
103
jetScale
m_jetScale
=
jetScale::EM
;
104
bool
m_doBcid
{
true
};
105
bool
m_doJetArea
{
true
};
106
bool
m_doResidual
{
true
};
107
bool
m_doOrigin
{
true
};
108
bool
m_doGSC
{
true
};
109
bool
m_doDNNCal
{};
110
111
std::string
m_gscDepth
{
"auto"
};
// if not set then use the one defined in the config
112
113
std::vector<std::unique_ptr<JetCalibrationStep> >
m_calibSteps
;
114
int
m_smearIndex
{-1};
115
116
// Try to use jet-attribute-specified origin vertex for calibration
117
bool
m_useOriginVertex
{};
118
};
119
120
#endif
//> !JETCALIBTOOLS_APPLYJETCALIBRATION_H
AsgMetadataTool.h
AsgToolMacros.h
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition
AsgToolMacros.h:77
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
EventShape.h
IJetCalibrationTool.h
JetCalibrationStep.h
JetEventInfo.h
VertexContainer.h
IJetCalibrationTool
class IJetCalibrationTool
Definition
IJetCalibrationTool.h:26
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition
IJetModifier.h:20
JetCalibrationTool::m_doResidual
bool m_doResidual
Definition
JetCalibrationTool.h:106
JetCalibrationTool::m_smearIndex
int m_smearIndex
Definition
JetCalibrationTool.h:114
JetCalibrationTool::m_calibAreaTag
std::string m_calibAreaTag
Definition
JetCalibrationTool.h:76
JetCalibrationTool::m_useOriginVertex
bool m_useOriginVertex
Definition
JetCalibrationTool.h:117
JetCalibrationTool::JetCalibrationTool
JetCalibrationTool(const std::string &name="JetCalibrationTool")
Constructor with parameters:
Definition
JetCalibrationTool.cxx:31
JetCalibrationTool::m_jetAlgo
std::string m_jetAlgo
Definition
JetCalibrationTool.h:73
JetCalibrationTool::m_runBins
std::vector< double > m_runBins
Definition
JetCalibrationTool.h:89
JetCalibrationTool::m_timeDependentInsituConfigs
std::vector< TString > m_timeDependentInsituConfigs
Definition
JetCalibrationTool.h:88
JetCalibrationTool::m_doDNNCal
bool m_doDNNCal
Definition
JetCalibrationTool.h:109
JetCalibrationTool::m_evtInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_evtInfoKey
Definition
JetCalibrationTool.h:64
JetCalibrationTool::calibrate
StatusCode calibrate(xAOD::Jet &jet, JetEventInfo &jetEventInfo) const
Definition
JetCalibrationTool.cxx:665
JetCalibrationTool::m_isData
bool m_isData
Definition
JetCalibrationTool.h:79
JetCalibrationTool::m_gscDepth
std::string m_gscDepth
Definition
JetCalibrationTool.h:111
JetCalibrationTool::jetScale
jetScale
Definition
JetCalibrationTool.h:44
JetCalibrationTool::EM
@ EM
Definition
JetCalibrationTool.h:44
JetCalibrationTool::PFLOW
@ PFLOW
Definition
JetCalibrationTool.h:44
JetCalibrationTool::LC
@ LC
Definition
JetCalibrationTool.h:44
JetCalibrationTool::m_dir
std::string m_dir
Definition
JetCalibrationTool.h:86
JetCalibrationTool::m_muKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_muKey
Definition
JetCalibrationTool.h:67
JetCalibrationTool::m_doJetArea
bool m_doJetArea
Definition
JetCalibrationTool.h:105
JetCalibrationTool::m_insituCombMassConfig
std::vector< TString > m_insituCombMassConfig
Definition
JetCalibrationTool.h:92
JetCalibrationTool::m_nJetThreshold
float m_nJetThreshold
Definition
JetCalibrationTool.h:84
JetCalibrationTool::m_rhoKey
SG::ReadHandleKey< xAOD::EventShape > m_rhoKey
Definition
JetCalibrationTool.h:65
JetCalibrationTool::m_config
std::string m_config
Definition
JetCalibrationTool.h:74
JetCalibrationTool::m_globalConfig
TEnv * m_globalConfig
Definition
JetCalibrationTool.h:98
JetCalibrationTool::m_useNjetInResidual
bool m_useNjetInResidual
Definition
JetCalibrationTool.h:83
JetCalibrationTool::m_calibSeq
std::string m_calibSeq
Definition
JetCalibrationTool.h:75
JetCalibrationTool::m_doSetDetectorEta
bool m_doSetDetectorEta
Definition
JetCalibrationTool.h:90
JetCalibrationTool::m_pvKey
SG::ReadHandleKey< xAOD::VertexContainer > m_pvKey
Definition
JetCalibrationTool.h:66
JetCalibrationTool::m_eInfoName
std::string m_eInfoName
Definition
JetCalibrationTool.h:87
JetCalibrationTool::m_globalTimeDependentConfigs
std::vector< TEnv * > m_globalTimeDependentConfigs
Definition
JetCalibrationTool.h:99
JetCalibrationTool::m_calibSteps
std::vector< std::unique_ptr< JetCalibrationStep > > m_calibSteps
Definition
JetCalibrationTool.h:113
JetCalibrationTool::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
JetCalibrationTool.cxx:63
JetCalibrationTool::m_originCorrectedClusters
bool m_originCorrectedClusters
Definition
JetCalibrationTool.h:82
JetCalibrationTool::m_forceCalibFile_FastSim
std::string m_forceCalibFile_FastSim
Definition
JetCalibrationTool.h:94
JetCalibrationTool::getNominalResolutionData
StatusCode getNominalResolutionData(const xAOD::Jet &jet, double &resolution) const override
Definition
JetCalibrationTool.cxx:686
JetCalibrationTool::m_jetScale
jetScale m_jetScale
Definition
JetCalibrationTool.h:103
JetCalibrationTool::getNominalResolutionHist
StatusCode getNominalResolutionHist(const xAOD::Jet &jet, double &resolution, const TH2D *histo) const
JetCalibrationTool::m_forceCalibFile_PtResidual
std::string m_forceCalibFile_PtResidual
Definition
JetCalibrationTool.h:93
JetCalibrationTool::initializeEvent
StatusCode initializeEvent(JetEventInfo &jetEventInfo) const
Definition
JetCalibrationTool.cxx:454
JetCalibrationTool::m_forceCampaign
std::string m_forceCampaign
Definition
JetCalibrationTool.h:80
JetCalibrationTool::applyCalibration
StatusCode applyCalibration(xAOD::JetContainer &) const override
Apply calibration to a jet container.
Definition
JetCalibrationTool.cxx:442
JetCalibrationTool::m_forceCalibFile_MC2MC
std::string m_forceCalibFile_MC2MC
Definition
JetCalibrationTool.h:95
JetCalibrationTool::getNominalResolutionMC
StatusCode getNominalResolutionMC(const xAOD::Jet &jet, double &resolution) const override
Definition
JetCalibrationTool.cxx:695
JetCalibrationTool::getCalibClass
StatusCode getCalibClass(const TString &calibration)
Definition
JetCalibrationTool.cxx:239
JetCalibrationTool::m_devMode
bool m_devMode
Definition
JetCalibrationTool.h:78
JetCalibrationTool::m_insituCombMassCalib
bool m_insituCombMassCalib
Definition
JetCalibrationTool.h:91
JetCalibrationTool::~JetCalibrationTool
~JetCalibrationTool()
Destructor:
Definition
JetCalibrationTool.cxx:52
JetCalibrationTool::m_doGSC
bool m_doGSC
Definition
JetCalibrationTool.h:108
JetCalibrationTool::m_doOrigin
bool m_doOrigin
Definition
JetCalibrationTool.h:107
JetCalibrationTool::m_nJetContainerName
std::string m_nJetContainerName
Definition
JetCalibrationTool.h:85
JetCalibrationTool::m_actualMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_actualMuKey
Definition
JetCalibrationTool.h:69
JetCalibrationTool::m_originScale
std::string m_originScale
Definition
JetCalibrationTool.h:77
JetCalibrationTool::m_doBcid
bool m_doBcid
Definition
JetCalibrationTool.h:104
JetCalibrationTool::m_globalInsituCombMassConfig
std::vector< TEnv * > m_globalInsituCombMassConfig
Definition
JetCalibrationTool.h:100
JetCalibrationTool::m_timeDependentCalib
bool m_timeDependentCalib
Definition
JetCalibrationTool.h:81
JetEventInfo
Definition
JetEventInfo.h:8
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition
StoreGate/StoreGate/ReadDecorHandleKey.h:86
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition
AsgMetadataTool.h:48
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0