ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAnalysis
TriggerMatchingTool
TriggerMatchingTool
R3IParticleRetrievalTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TriggerMatchingTool_R3IParticleRetrievalTool_H
6
#define TriggerMatchingTool_R3IParticleRetrievalTool_H
7
8
// Framework includes
9
#include "
AsgTools/AsgTool.h
"
10
#include "
AsgTools/ToolHandle.h
"
11
12
#include "
TriggerMatchingTool/IIParticleRetrievalTool.h
"
13
#include "
TrigDecisionTool/TrigDecisionTool.h
"
14
15
#include <set>
16
#include <mutex>
17
18
namespace
Trig
19
{
20
class
R3IParticleRetrievalTool
final :
public
virtual
IIParticleRetrievalTool
,
21
public
asg::AsgTool
22
{
23
ASG_TOOL_CLASS
(
R3IParticleRetrievalTool
,
IIParticleRetrievalTool
)
24
public
:
26
R3IParticleRetrievalTool
(
const
std::string &name);
27
29
virtual
~R3IParticleRetrievalTool
()
override
;
30
32
virtual
StatusCode
initialize
()
override
;
33
44
virtual
StatusCode
retrieveParticles
(
45
std::vector<std::vector<const xAOD::IParticle *>> &combinations,
46
const
std::string &chain,
47
bool
rerun =
false
)
const override
;
48
49
private
:
50
// Properties
52
ToolHandle<Trig::TrigDecisionTool>
m_tdt
{
"Trig::TrigDecisionTool/TrigDecisionTool"
};
54
mutable
std::set<std::string> m_warnedChains
ATLAS_THREAD_SAFE
;
56
mutable
std::mutex
m_warnedChainsMutex
;
57
};
//> end class R3IParticleRetrievalTool
58
}
// namespace Trig
59
60
#endif
//> !TriggerMatchingTool_R3IParticleRetrievalTool_H
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
IIParticleRetrievalTool.h
ToolHandle.h
TrigDecisionTool.h
Trig::IIParticleRetrievalTool
Definition
IIParticleRetrievalTool.h:15
Trig::R3IParticleRetrievalTool::initialize
virtual StatusCode initialize() override
Initialise the tool.
Definition
R3IParticleRetrievalTool.cxx:19
Trig::R3IParticleRetrievalTool::m_tdt
ToolHandle< Trig::TrigDecisionTool > m_tdt
The TrigDecisionTool that will be used to get the navigation.
Definition
R3IParticleRetrievalTool.h:52
Trig::R3IParticleRetrievalTool::~R3IParticleRetrievalTool
virtual ~R3IParticleRetrievalTool() override
Destructor.
Definition
R3IParticleRetrievalTool.cxx:17
Trig::R3IParticleRetrievalTool::ATLAS_THREAD_SAFE
std::set< std::string > m_warnedChains ATLAS_THREAD_SAFE
Chains that we have warned about.
Definition
R3IParticleRetrievalTool.h:54
Trig::R3IParticleRetrievalTool::R3IParticleRetrievalTool
R3IParticleRetrievalTool(const std::string &name)
Standard constructor.
Definition
R3IParticleRetrievalTool.cxx:11
Trig::R3IParticleRetrievalTool::m_warnedChainsMutex
std::mutex m_warnedChainsMutex
mutex to protect that set
Definition
R3IParticleRetrievalTool.h:56
Trig::R3IParticleRetrievalTool::retrieveParticles
virtual StatusCode retrieveParticles(std::vector< std::vector< const xAOD::IParticle * > > &combinations, const std::string &chain, bool rerun=false) const override
Retrieve the particles that caused this trigger to fire.
Definition
R3IParticleRetrievalTool.cxx:26
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
Trig
The common trigger namespace for trigger analysis tools.
Definition
LArCellMonAlg.h:33
Generated on
for ATLAS Offline Software by
1.17.0