ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetJvtEfficiency
Root
JvtSelectionToolBase.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
JetJvtEfficiency/JvtSelectionToolBase.h
"
6
#include "
AsgDataHandles/ReadDecorHandle.h
"
7
#include "
AsgDataHandles/WriteDecorHandle.h
"
8
9
namespace
CP
{
10
StatusCode
JvtSelectionToolBase::initialize
() {
11
m_etaAcc
=
SG::ConstAccessor<float>
(
m_jetEtaName
);
12
m_cutPos
=
m_info
.addCut(
"Jvt"
,
"Whether the jet passes the Jvt selection"
);
13
14
ATH_CHECK
(
m_jetContainer
.initialize());
15
ATH_CHECK
(
m_jvtMomentKey
.initialize());
16
ATH_CHECK
(
m_passJvtKey
.initialize(
SG::AllowEmpty
));
17
18
return
StatusCode::SUCCESS;
19
}
20
21
const
asg::AcceptInfo
&
JvtSelectionToolBase::getAcceptInfo
()
const
{
return
m_info
; }
22
23
asg::AcceptData
JvtSelectionToolBase::accept
(
const
xAOD::IParticle
*
jet
)
const
{
24
asg::AcceptData
data(&
m_info
);
25
data.setCutResult(
m_cutPos
,
select
(
jet
));
26
return
data;
27
}
28
29
bool
JvtSelectionToolBase::isInRange
(
const
xAOD::IParticle
*
jet
)
const
{
30
if
(
jet
->pt() <
m_minPtForJvt
||
jet
->pt() >
m_maxPtForJvt
)
31
return
false
;
32
float
eta
=
m_etaAcc
(*
jet
);
33
return
std::abs(
eta
) >=
m_minEta
&& std::abs(
eta
) <=
m_maxEta
;
34
}
35
36
StatusCode
JvtSelectionToolBase::decorate
(
const
xAOD::JetContainer
& jets)
const
{
37
if
(
m_passJvtKey
.key().empty()){
38
ATH_MSG_ERROR
(
"Attempted to decorate jets with JVT decision, but decoration name was not configured!"
);
39
return
StatusCode::FAILURE;
40
}
41
SG::WriteDecorHandle<xAOD::JetContainer, char>
passJvtHandle(
m_passJvtKey
);
42
for
(
const
xAOD::Jet
*
jet
: jets) passJvtHandle(*
jet
) =
select
(
jet
);
43
return
StatusCode::SUCCESS;
44
}
45
46
}
// namespace CP
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ReadDecorHandle.h
Handle class for reading a decoration on an object.
WriteDecorHandle.h
Handle class for adding a decoration to an object.
JvtSelectionToolBase.h
CP::JvtSelectionToolBase::isInRange
virtual bool isInRange(const xAOD::IParticle *jet) const
Definition
JvtSelectionToolBase.cxx:29
CP::JvtSelectionToolBase::m_etaAcc
SG::ConstAccessor< float > m_etaAcc
Definition
JvtSelectionToolBase.h:56
CP::JvtSelectionToolBase::m_maxEta
Gaudi::Property< float > m_maxEta
Definition
JvtSelectionToolBase.h:37
CP::JvtSelectionToolBase::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
JvtSelectionToolBase.cxx:10
CP::JvtSelectionToolBase::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Definition
JvtSelectionToolBase.cxx:36
CP::JvtSelectionToolBase::m_jvtMomentKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_jvtMomentKey
Definition
JvtSelectionToolBase.h:45
CP::JvtSelectionToolBase::m_info
asg::AcceptInfo m_info
Definition
JvtSelectionToolBase.h:52
CP::JvtSelectionToolBase::m_passJvtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_passJvtKey
Definition
JvtSelectionToolBase.h:47
CP::JvtSelectionToolBase::accept
virtual asg::AcceptData accept(const xAOD::IParticle *jet) const override
The main accept method: the actual cuts are applied here.
Definition
JvtSelectionToolBase.cxx:23
CP::JvtSelectionToolBase::m_jetContainer
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainer
Definition
JvtSelectionToolBase.h:43
CP::JvtSelectionToolBase::m_cutPos
int m_cutPos
Definition
JvtSelectionToolBase.h:54
CP::JvtSelectionToolBase::m_minPtForJvt
Gaudi::Property< float > m_minPtForJvt
Definition
JvtSelectionToolBase.h:31
CP::JvtSelectionToolBase::m_minEta
Gaudi::Property< float > m_minEta
Definition
JvtSelectionToolBase.h:35
CP::JvtSelectionToolBase::select
virtual bool select(const xAOD::IParticle *jet) const =0
CP::JvtSelectionToolBase::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const override
Declare the interface ID for this pure-virtual interface class to the Athena framework.
Definition
JvtSelectionToolBase.cxx:21
CP::JvtSelectionToolBase::m_maxPtForJvt
Gaudi::Property< float > m_maxPtForJvt
Definition
JvtSelectionToolBase.h:33
CP::JvtSelectionToolBase::m_jetEtaName
Gaudi::Property< std::string > m_jetEtaName
Definition
JvtSelectionToolBase.h:40
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition
ConstAccessor.h:55
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition
StoreGate/StoreGate/WriteDecorHandle.h:100
asg::AcceptData
Definition
AcceptData.h:31
asg::AcceptInfo
Definition
AcceptInfo.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
SG::AllowEmpty
@ AllowEmpty
Definition
StoreGate/StoreGate/VarHandleKey.h:27
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
Generated on
for ATLAS Offline Software by
1.17.0