ATLAS Offline Software
FJvtSelectionTool.cxx
Go to the documentation of this file.
3 
4 namespace {
5  const static std::map<std::string, float> workingPoints{{"Loose", 0.5}, {"Tight", 0.4}, {"Tighter", 0.2}};
6 }
7 
8 namespace CP {
9 
11  m_minEta = 2.5;
12  m_maxEta = 4.5;
13  }
14 
17 
18 
21  if (m_jetContainer.empty()) {
22  ATH_MSG_WARNING("No JetContainer set. This behaviour is deprecated");
23  ATH_CHECK(m_jvtMoment.initialize(false));
24  ATH_CHECK(m_timingMoment.initialize(false));
25  }
26  else {
27  m_jvtMoment = m_jetContainer + "." + m_jvtMoment.key();
28  ATH_CHECK(m_jvtMoment.initialize());
30  ATH_CHECK(m_timingMoment.initialize());
31  }
32 
33  if (m_wp != "Custom") {
34  auto itr = workingPoints.find(m_wp);
35  if (itr == workingPoints.end()) {
36  ATH_MSG_ERROR("Invalid fJvt working point name");
37  return StatusCode::FAILURE;
38  }
39  m_jvtCut = itr->second;
40  }
41 
42  return StatusCode::SUCCESS;
43  }
44 
46  // select jet if it passes fJvt requirement and timing cut (if configured)
47  return m_jvtAcc(*jet) <= m_jvtCut && ( m_timingCut > 0 ? std::abs( m_timingAcc(*jet) ) <= m_timingCut : true );
48  }
49 
50 } // namespace CP
CP::FJvtSelectionTool::m_timingMoment
SG::ReadDecorHandleKey< xAOD::JetContainer > m_timingMoment
Definition: FJvtSelectionTool.h:31
CP::FJvtSelectionTool::m_jvtMoment
SG::ReadDecorHandleKey< xAOD::JetContainer > m_jvtMoment
Definition: FJvtSelectionTool.h:29
CP::JvtSelectionToolBase::m_minEta
Gaudi::Property< float > m_minEta
Definition: JvtSelectionToolBase.h:31
CP::FJvtSelectionTool::select
virtual bool select(const xAOD::IParticle *jet) const override
Definition: FJvtSelectionTool.cxx:45
SG::ConstAccessor< float >
FJvtSelectionTool.h
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::FJvtSelectionTool::m_timingAcc
SG::ConstAccessor< float > m_timingAcc
Definition: FJvtSelectionTool.h:42
CP::FJvtSelectionTool::m_jetContainer
Gaudi::Property< std::string > m_jetContainer
Definition: FJvtSelectionTool.h:22
CP::FJvtSelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: FJvtSelectionTool.cxx:15
CP::JvtSelectionToolBase
Definition: JvtSelectionToolBase.h:15
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CP::FJvtSelectionTool::m_jvtCut
Gaudi::Property< float > m_jvtCut
Definition: FJvtSelectionTool.h:28
CP::FJvtSelectionTool::m_jvtAcc
SG::ConstAccessor< float > m_jvtAcc
Definition: FJvtSelectionTool.h:41
CP::JvtSelectionToolBase::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: JvtSelectionToolBase.cxx:9
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::FJvtSelectionTool::FJvtSelectionTool
FJvtSelectionTool(const std::string &name)
Definition: FJvtSelectionTool.cxx:10
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CP::FJvtSelectionTool::m_wp
Gaudi::Property< std::string > m_wp
Definition: FJvtSelectionTool.h:25
ReadDecorHandle.h
Handle class for reading a decoration on an object.
CP::FJvtSelectionTool::m_timingCut
Gaudi::Property< float > m_timingCut
Definition: FJvtSelectionTool.h:33
CP::JvtSelectionToolBase::m_maxEta
Gaudi::Property< float > m_maxEta
Definition: JvtSelectionToolBase.h:33