ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetCalibTools
JetCalibTools
CalibrationMethods
JMSCorrection.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef JETCALIBTOOLS_JMSCORRECTION_H
6
#define JETCALIBTOOLS_JMSCORRECTION_H 1
7
8
/*
9
* Class definition of JMSCorrection - see Root/JMSCorrection.cxx for more details
10
* Jonathan Bossio (jbossios@cern.ch) , July 2015
11
*/
12
13
#include <TH2.h>
14
#include <TH3.h>
15
16
#include "
JetCalibTools/JetCalibrationStep.h
"
17
#include <vector>
18
#include <memory>
19
#include <string>
20
class
TEnv;
21
22
class
JMSCorrection
23
:
virtual
public
::JetCalibrationStep
24
{
25
26
public
:
27
//Some convenient typedefs
28
typedef
std::vector<std::unique_ptr<const TH2>>
VecTH2
;
29
typedef
std::vector<double>
VecD
;
30
typedef
unsigned
int
uint
;
31
32
JMSCorrection
();
33
JMSCorrection
(
const
std::string& name, TEnv * config, TString jetAlgo, TString calibAreaTag,
bool
dev);
34
35
virtual
StatusCode
initialize
()
override
;
36
virtual
StatusCode
calibrate
(
xAOD::Jet
&
jet
,
JetEventInfo
&)
const override
;
37
38
private
:
39
float
getMassCorr3D
(
double
pT_uncorr,
double
mass_uncorr,
double
eta
)
const
;
40
float
getMassCorr
(
double
pT_uncorr,
double
mass_uncorr,
int
etabin)
const
;
41
float
getTrackAssistedMassCorr3D
(
double
pT_uncorr,
double
mass_uncorr,
double
eta
)
const
;
42
float
getTrackAssistedMassCorr
(
double
pT_uncorr,
double
mass_uncorr,
int
etabin)
const
;
43
float
getRelCalo3D
(
double
pT_uncorr,
double
mass_over_pt_uncorr,
double
eta
)
const
;
44
float
getRelCalo
(
double
pT_uncorr,
double
mass_over_pt_uncorr,
int
etabin)
const
;
45
float
getRelTA3D
(
double
pT_uncorr,
double
mass_over_pt_uncorr,
double
eta
)
const
;
46
float
getRelTA
(
double
pT_uncorr,
double
mass_over_pt_uncorr,
int
etabin)
const
;
47
float
getRho3D
(
double
pT_uncorr,
double
mass_over_pt_uncorr,
double
eta
)
const
;
48
float
getRho
(
double
pT_uncorr,
double
mass_over_pt_uncorr,
int
etabin)
const
;
49
50
void
setMassEtaBins
(
const
VecD
& etabins) {
51
if
(etabins.size()==0)
ATH_MSG_ERROR
(
"Please check that the mass eta binning is properly set in your config file"
);
52
m_massEtaBins
=etabins;
53
}
54
55
void
setMassCombinationEtaBins
(
const
VecD
& etabins) {
56
if
(etabins.size()==0)
ATH_MSG_ERROR
(
"Please check that the mass combination eta binning is properly set in your config file"
);
57
m_massCombinationEtaBins
=etabins;
58
}
59
60
private
:
61
62
//Private members set in the constructor
63
TEnv *
m_config
{};
64
TString
m_jetAlgo
,
m_calibAreaTag
,
m_jetOutScale
;
65
bool
m_dev
{};
66
67
double
m_pTMinCorr
{};
68
69
bool
m_trackAssistedJetMassCorr
{};
70
71
bool
m_pTfixed
{};
// false: pT will be corrected (large-R), if true: the energy will be corrected and pT will be fixed (small-R)
72
73
bool
m_combination
{};
// Mass Combination of calo mass with track-assisted mass
74
bool
m_useCorrelatedWeights
{};
75
bool
m_onlyCombination
{};
//mass combination using insitu calibrated inputs
76
77
// Control the binning using a private class enum
78
enum class
BinningParam
{
pt_mass_eta
,
e_LOGmOe_eta
,
e_LOGmOet_eta
,
e_LOGmOpt_eta
,
et_LOGmOet_eta
};
79
BinningParam
m_binParam
=
BinningParam::pt_mass_eta
;
80
81
// Check if we are reading 2D or 3D histograms
82
// Defaults to false for backwards compatibility
83
bool
m_use3Dhisto
{};
84
85
86
//Private members set during initialization (if 2D histos)
87
VecTH2
m_respFactorsMass
;
88
VecD
m_massEtaBins
;
89
VecTH2
m_respFactorsTrackAssistedMass
;
90
VecD
m_massCombinationEtaBins
;
91
VecTH2
m_caloResolutionMassCombination
;
// Calo Mass Resolution
92
VecTH2
m_taResolutionMassCombination
;
// Track-Assisted Mass Resolution
93
VecTH2
m_correlationMapMassCombination
;
// Correlation Map for mass combination (rho)
94
95
//Private members set during initialization (if 3D histos)
96
std::unique_ptr<const TH3>
m_respFactorMass3D
;
97
std::unique_ptr<const TH3>
m_respFactorTrackAssistedMass3D
;
98
std::unique_ptr<const TH3>
m_caloResolutionMassCombination3D
;
99
std::unique_ptr<const TH3>
m_taResolutionMassCombination3D
;
100
std::unique_ptr<const TH3>
m_correlationMapMassCombination3D
;
101
};
102
103
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
JetCalibrationStep.h
JMSCorrection::m_correlationMapMassCombination
VecTH2 m_correlationMapMassCombination
Definition
JMSCorrection.h:93
JMSCorrection::m_useCorrelatedWeights
bool m_useCorrelatedWeights
Definition
JMSCorrection.h:74
JMSCorrection::m_jetOutScale
TString m_jetOutScale
Definition
JMSCorrection.h:64
JMSCorrection::getRelTA
float getRelTA(double pT_uncorr, double mass_over_pt_uncorr, int etabin) const
Definition
JMSCorrection.cxx:444
JMSCorrection::setMassEtaBins
void setMassEtaBins(const VecD &etabins)
Definition
JMSCorrection.h:50
JMSCorrection::m_pTMinCorr
double m_pTMinCorr
Definition
JMSCorrection.h:67
JMSCorrection::m_use3Dhisto
bool m_use3Dhisto
Definition
JMSCorrection.h:83
JMSCorrection::uint
unsigned int uint
Definition
JMSCorrection.h:30
JMSCorrection::getMassCorr3D
float getMassCorr3D(double pT_uncorr, double mass_uncorr, double eta) const
Definition
JMSCorrection.cxx:299
JMSCorrection::getRelTA3D
float getRelTA3D(double pT_uncorr, double mass_over_pt_uncorr, double eta) const
Definition
JMSCorrection.cxx:422
JMSCorrection::m_massEtaBins
VecD m_massEtaBins
Definition
JMSCorrection.h:88
JMSCorrection::m_combination
bool m_combination
Definition
JMSCorrection.h:73
JMSCorrection::m_pTfixed
bool m_pTfixed
Definition
JMSCorrection.h:71
JMSCorrection::getRelCalo3D
float getRelCalo3D(double pT_uncorr, double mass_over_pt_uncorr, double eta) const
Definition
JMSCorrection.cxx:381
JMSCorrection::getMassCorr
float getMassCorr(double pT_uncorr, double mass_uncorr, int etabin) const
Definition
JMSCorrection.cxx:321
JMSCorrection::m_caloResolutionMassCombination
VecTH2 m_caloResolutionMassCombination
Definition
JMSCorrection.h:91
JMSCorrection::m_onlyCombination
bool m_onlyCombination
Definition
JMSCorrection.h:75
JMSCorrection::getRelCalo
float getRelCalo(double pT_uncorr, double mass_over_pt_uncorr, int etabin) const
Definition
JMSCorrection.cxx:403
JMSCorrection::m_config
TEnv * m_config
Definition
JMSCorrection.h:63
JMSCorrection::m_massCombinationEtaBins
VecD m_massCombinationEtaBins
Definition
JMSCorrection.h:90
JMSCorrection::m_respFactorsTrackAssistedMass
VecTH2 m_respFactorsTrackAssistedMass
Definition
JMSCorrection.h:89
JMSCorrection::m_caloResolutionMassCombination3D
std::unique_ptr< const TH3 > m_caloResolutionMassCombination3D
Definition
JMSCorrection.h:98
JMSCorrection::m_jetAlgo
TString m_jetAlgo
Definition
JMSCorrection.h:64
JMSCorrection::getTrackAssistedMassCorr
float getTrackAssistedMassCorr(double pT_uncorr, double mass_uncorr, int etabin) const
Definition
JMSCorrection.cxx:362
JMSCorrection::m_binParam
BinningParam m_binParam
Definition
JMSCorrection.h:79
JMSCorrection::m_dev
bool m_dev
Definition
JMSCorrection.h:65
JMSCorrection::m_calibAreaTag
TString m_calibAreaTag
Definition
JMSCorrection.h:64
JMSCorrection::setMassCombinationEtaBins
void setMassCombinationEtaBins(const VecD &etabins)
Definition
JMSCorrection.h:55
JMSCorrection::m_respFactorTrackAssistedMass3D
std::unique_ptr< const TH3 > m_respFactorTrackAssistedMass3D
Definition
JMSCorrection.h:97
JMSCorrection::JMSCorrection
JMSCorrection()
Definition
JMSCorrection.cxx:23
JMSCorrection::m_correlationMapMassCombination3D
std::unique_ptr< const TH3 > m_correlationMapMassCombination3D
Definition
JMSCorrection.h:100
JMSCorrection::getTrackAssistedMassCorr3D
float getTrackAssistedMassCorr3D(double pT_uncorr, double mass_uncorr, double eta) const
Definition
JMSCorrection.cxx:340
JMSCorrection::m_respFactorMass3D
std::unique_ptr< const TH3 > m_respFactorMass3D
Definition
JMSCorrection.h:96
JMSCorrection::m_taResolutionMassCombination
VecTH2 m_taResolutionMassCombination
Definition
JMSCorrection.h:92
JMSCorrection::VecD
std::vector< double > VecD
Definition
JMSCorrection.h:29
JMSCorrection::m_taResolutionMassCombination3D
std::unique_ptr< const TH3 > m_taResolutionMassCombination3D
Definition
JMSCorrection.h:99
JMSCorrection::calibrate
virtual StatusCode calibrate(xAOD::Jet &jet, JetEventInfo &) const override
Definition
JMSCorrection.cxx:503
JMSCorrection::VecTH2
std::vector< std::unique_ptr< const TH2 > > VecTH2
Definition
JMSCorrection.h:28
JMSCorrection::BinningParam
BinningParam
Definition
JMSCorrection.h:78
JMSCorrection::BinningParam::pt_mass_eta
@ pt_mass_eta
Definition
JMSCorrection.h:78
JMSCorrection::BinningParam::et_LOGmOet_eta
@ et_LOGmOet_eta
Definition
JMSCorrection.h:78
JMSCorrection::BinningParam::e_LOGmOe_eta
@ e_LOGmOe_eta
Definition
JMSCorrection.h:78
JMSCorrection::BinningParam::e_LOGmOet_eta
@ e_LOGmOet_eta
Definition
JMSCorrection.h:78
JMSCorrection::BinningParam::e_LOGmOpt_eta
@ e_LOGmOpt_eta
Definition
JMSCorrection.h:78
JMSCorrection::m_trackAssistedJetMassCorr
bool m_trackAssistedJetMassCorr
Definition
JMSCorrection.h:69
JMSCorrection::getRho
float getRho(double pT_uncorr, double mass_over_pt_uncorr, int etabin) const
Definition
JMSCorrection.cxx:484
JMSCorrection::m_respFactorsMass
VecTH2 m_respFactorsMass
Definition
JMSCorrection.h:87
JMSCorrection::initialize
virtual StatusCode initialize() override
Definition
JMSCorrection.cxx:34
JMSCorrection::getRho3D
float getRho3D(double pT_uncorr, double mass_over_pt_uncorr, double eta) const
Definition
JMSCorrection.cxx:462
JetCalibrationStep::JetCalibrationStep
JetCalibrationStep(const char *name="JetCalibrationStep")
Definition
JetCalibrationStep.cxx:12
JetEventInfo
Definition
JetEventInfo.h:8
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
Generated on
for ATLAS Offline Software by
1.17.0