ATLAS Offline Software
Loading...
Searching...
No Matches
IParticleRetrievalTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TriggerMatchingTool_IParticleRetrievalTool_H
6#define TriggerMatchingTool_IParticleRetrievalTool_H
7
8// Framework includes
9#include "AsgTools/AsgTool.h"
10#include "AsgTools/ToolHandle.h"
11
14
15namespace Trig {
16 class IParticleRetrievalTool final : public virtual IIParticleRetrievalTool,
17 public asg::AsgTool
18 {
20 public:
22 IParticleRetrievalTool(const std::string& name);
23
25 ~IParticleRetrievalTool() override;
26
28 StatusCode initialize() override;
29
44 StatusCode retrieveParticles(
45 std::vector<std::vector<const xAOD::IParticle*>>& combinations,
46 const std::string& chain,
47 bool rerun = false) const override;
48
56 StatusCode retrieveParticles(
57 std::vector<const xAOD::IParticle*>& combination,
58 const HLT::TriggerElement* te,
59 bool& navFailure) const;
60
70
79 StatusCode retrieveFeatureParticle(
80 const xAOD::IParticle*& particle,
82 const HLT::TriggerElement* te,
83 bool& navFailure) const;
84
85 private:
86 // Properties
88 ToolHandle<Trig::TrigDecisionTool> m_tdt {
89 "Trig::TrigDecisionTool/TrigDecisionTool"};
90
92 }; //> end class IParticleRetrievalTool
93} //> end namespace Trig
94
95#endif //> !TriggerMatchingTool_IParticleRetrievalTool_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
the FeatureAccessHelper is a class used to keep track of features attached to this TE.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
~IParticleRetrievalTool() override
Default destructor.
IParticleRetrievalTool(const std::string &name)
Standard constructor.
xAOD::Type::ObjectType getEGammaTEType(const HLT::TriggerElement *te) const
Get the type of particle that should be retrieved from this TE.
StatusCode initialize() override
Initialise the tool.
bool m_warnOnNavigationFailure
Be forgiving about the navigation not matching our expectations.
StatusCode retrieveFeatureParticle(const xAOD::IParticle *&particle, const HLT::TriggerElement::FeatureAccessHelper &feature, const HLT::TriggerElement *te, bool &navFailure) const
Retrieve an IParticle from a feature.
ToolHandle< Trig::TrigDecisionTool > m_tdt
The TrigDecisionTool that will be used to get the navigation.
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
Class providing the definition of the 4-vector interface.
The common trigger namespace for trigger analysis tools.
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition ObjectType.h:32