ATLAS Offline Software
Loading...
Searching...
No Matches
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
14
15#include <set>
16#include <mutex>
17
18namespace Trig
19{
21 public asg::AsgTool
22 {
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
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
virtual StatusCode initialize() override
Initialise the tool.
ToolHandle< Trig::TrigDecisionTool > m_tdt
The TrigDecisionTool that will be used to get the navigation.
virtual ~R3IParticleRetrievalTool() override
Destructor.
std::set< std::string > m_warnedChains ATLAS_THREAD_SAFE
Chains that we have warned about.
R3IParticleRetrievalTool(const std::string &name)
Standard constructor.
std::mutex m_warnedChainsMutex
mutex to protect that set
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.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
The common trigger namespace for trigger analysis tools.