ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetUncertainties
Root
PunchthroughUncertaintyComponent.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
JetUncertainties/PunchthroughUncertaintyComponent.h
"
6
#include "
JetUncertainties/Helpers.h
"
7
8
namespace
jet
9
{
10
12
// //
13
// Constructor/destructor/initialization //
14
// //
16
17
PunchthroughUncertaintyComponent::PunchthroughUncertaintyComponent
(
const
std::string& name)
18
:
UncertaintyComponent
(
ComponentHelper
(name))
19
,
m_absEta
(false)
20
{
21
JESUNC_NO_DEFAULT_CONSTRUCTOR
;
22
}
23
24
PunchthroughUncertaintyComponent::PunchthroughUncertaintyComponent
(
const
ComponentHelper
& component)
25
:
UncertaintyComponent
(component)
26
,
m_absEta
(
CompParametrization
::isAbsEta(component.parametrization))
27
{
28
ATH_MSG_DEBUG
(Form(
"Creating PunchthroughUncertaintyComponent named %s"
,
m_uncHistName
.Data()));
29
}
30
31
PunchthroughUncertaintyComponent::PunchthroughUncertaintyComponent
(
const
PunchthroughUncertaintyComponent
& toCopy)
32
:
UncertaintyComponent
(toCopy)
33
,
m_absEta
(toCopy.
m_absEta
)
34
{
35
ATH_MSG_DEBUG
(Form(
"Creating copy of PunchthroughUncertaintyComponent named %s"
,
m_uncHistName
.Data()));
36
}
37
38
PunchthroughUncertaintyComponent
*
PunchthroughUncertaintyComponent::clone
()
const
39
{
40
return
new
PunchthroughUncertaintyComponent
(*
this
);
41
}
42
43
45
// //
46
// Validity and uncertainty retrieval //
47
// //
49
50
bool
PunchthroughUncertaintyComponent::getValidityImpl
(
const
xAOD::Jet
&
jet
,
const
xAOD::EventInfo
&)
const
51
{
52
return
!
m_validHist
? true :
getValidBool
(
m_validHist
->getValue(
jet
.pt()*
m_energyScale
,
getNumSegments
(
jet
),
m_absEta
? fabs(
jet
.eta()) :
jet
.eta()));
53
}
54
55
double
PunchthroughUncertaintyComponent::getUncertaintyImpl
(
const
xAOD::Jet
&
jet
,
const
xAOD::EventInfo
&)
const
56
{
57
return
m_uncHist
->getValue(
jet
.pt()*
m_energyScale
,
getNumSegments
(
jet
),
m_absEta
? fabs(
jet
.eta()) :
jet
.eta());
58
}
59
60
int
PunchthroughUncertaintyComponent::getNumSegments
(
const
xAOD::Jet
&
jet
)
const
61
{
62
63
// std::cout << "Calling getNumSegments for component " << getName() << std::endl;
64
65
static
const
SG::AuxElement::Accessor<int> accNseg(
"GhostMuonSegmentCount"
);
66
67
if
(!accNseg.isAvailable(
jet
))
68
{
69
ATH_MSG_ERROR
(
"Failed to retrieve number of segments from the jet"
);
70
return
-1;
71
}
72
return
accNseg(
jet
);
73
}
74
75
}
// end jet namespace
76
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
PunchthroughUncertaintyComponent.h
Helpers.h
JESUNC_NO_DEFAULT_CONSTRUCTOR
#define JESUNC_NO_DEFAULT_CONSTRUCTOR
Definition
Reconstruction/Jet/JetUncertainties/JetUncertainties/Helpers.h:24
jet::ComponentHelper
Definition
ConfigHelper.h:24
jet::PunchthroughUncertaintyComponent::getValidityImpl
virtual bool getValidityImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
Definition
PunchthroughUncertaintyComponent.cxx:50
jet::PunchthroughUncertaintyComponent::clone
virtual PunchthroughUncertaintyComponent * clone() const
Definition
PunchthroughUncertaintyComponent.cxx:38
jet::PunchthroughUncertaintyComponent::m_absEta
const bool m_absEta
Definition
PunchthroughUncertaintyComponent.h:30
jet::PunchthroughUncertaintyComponent::getNumSegments
int getNumSegments(const xAOD::Jet &jet) const
Definition
PunchthroughUncertaintyComponent.cxx:60
jet::PunchthroughUncertaintyComponent::PunchthroughUncertaintyComponent
PunchthroughUncertaintyComponent(const ComponentHelper &component)
Definition
PunchthroughUncertaintyComponent.cxx:24
jet::PunchthroughUncertaintyComponent::getUncertaintyImpl
virtual double getUncertaintyImpl(const xAOD::Jet &jet, const xAOD::EventInfo &eInfo) const
Definition
PunchthroughUncertaintyComponent.cxx:55
jet::UncertaintyComponent::m_energyScale
const float m_energyScale
Definition
UncertaintyComponent.h:55
jet::UncertaintyComponent::UncertaintyComponent
UncertaintyComponent(const ComponentHelper &component, const size_t numHist=1)
Definition
UncertaintyComponent.cxx:47
jet::UncertaintyComponent::getValidBool
virtual bool getValidBool(const double validity) const
Definition
UncertaintyComponent.cxx:301
jet::UncertaintyComponent::m_uncHistName
const TString m_uncHistName
Definition
UncertaintyComponent.h:51
jet::UncertaintyComponent::m_validHist
UncertaintyHistogram * m_validHist
Definition
UncertaintyComponent.h:61
jet::UncertaintyComponent::m_uncHist
UncertaintyHistogram * m_uncHist
Definition
UncertaintyComponent.h:60
jet::CompParametrization
Definition
UncertaintyEnum.h:43
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::EventInfo
EventInfo_v1 EventInfo
Definition of the latest event info version.
Definition
IEventInfoCnvTool.h:16
Generated on
for ATLAS Offline Software by
1.17.0