ATLAS Offline Software
ITrigDecisionToolLite.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGDECISIONINTERFACE_ITRIGDECISIONTOOLLITE_H
6 #define TRIGDECISIONINTERFACE_ITRIGDECISIONTOOLLITE_H
7 
8 // Framework include(s):
9 #include "AsgTools/IAsgTool.h"
10 
11 #include <string>
12 #include <vector>
13 
14 // Forward declarations
15 namespace HLT {
16  class Identifier;
17 }
18 
19 namespace TrigCompositeUtils {
20  struct TypelessLinkInfo;
21 }
22 
23 namespace TrigCompositeUtils {
24  template<typename T>
25  struct LinkInfo;
26 }
27 
28 namespace Trig {
29  class FeatureRequestDescriptor;
30 }
31 
32 class EventContext;
33 
34 namespace Trig {
35 
42  class ITrigDecisionToolLite : virtual public asg::IAsgTool {
44 
45  public:
47  virtual bool isPassed( const HLT::Identifier& chain, const EventContext& ctx ) const = 0;
48 
50  virtual bool isPassed( const std::string& chain, const EventContext& ctx ) const = 0;
51 
53  virtual bool isPassed( const std::vector<HLT::Identifier>& chains, const EventContext& ctx ) const = 0;
54 
56  virtual bool isPassed( const std::vector<std::string>& chains, const EventContext& ctx ) const = 0;
57 
59  template<class CONTAINER>
60  std::vector<TrigCompositeUtils::LinkInfo<CONTAINER>>
61  features( const Trig::FeatureRequestDescriptor& frd, const EventContext& ctx = Gaudi::Hive::currentContext() ) const;
62 
64  template<class CONTAINER>
65  std::vector<TrigCompositeUtils::LinkInfo<CONTAINER>>
66  features( const std::string& chain, const EventContext& ctx = Gaudi::Hive::currentContext() ) const;
67 
68  private:
70  virtual std::vector<TrigCompositeUtils::TypelessLinkInfo>
71  typelessFeatures( const Trig::FeatureRequestDescriptor& frd, const CLID clid, const EventContext& ctx) const = 0;
72 
74  virtual const asg::EventStoreType* getEventStore() const = 0;
75 
76  }; // class ITrigDecisionToolLite
77 
78 } // namespace Trig
79 
81 
82 #endif // TRIGDECISIONINTERFACE_ITRIGDECISIONTOOLLITE_H
Trig::FeatureRequestDescriptor
Definition: TrigAnalysisHelpers/TrigAnalysisHelpers/FeatureRequestDescriptor.h:33
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
Trig
The common trigger namespace for trigger analysis tools.
Definition: LArCellMonAlg.h:33
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
Trig::ITrigDecisionToolLite::isPassed
virtual bool isPassed(const std::string &chain, const EventContext &ctx) const =0
Get the physics decision for a HLT trigger chain, by string.
Trig::ITrigDecisionToolLite
isPassed and features interfaces for the TrigDecisionToolLite
Definition: ITrigDecisionToolLite.h:42
Trig::ITrigDecisionToolLite::features
std::vector< TrigCompositeUtils::LinkInfo< CONTAINER > > features(const Trig::FeatureRequestDescriptor &frd, const EventContext &ctx=Gaudi::Hive::currentContext()) const
Obtain features from the navigation, as specified in the supplied feature request descriptor.
Trig::ITrigDecisionToolLite::isPassed
virtual bool isPassed(const std::vector< HLT::Identifier > &chains, const EventContext &ctx) const =0
Get the physics decision for the OR of a number of HLT trigger chains, by identifier.
Trig::ITrigDecisionToolLite::features
std::vector< TrigCompositeUtils::LinkInfo< CONTAINER > > features(const std::string &chain, const EventContext &ctx=Gaudi::Hive::currentContext()) const
Obtain features from the navigation for the supplied chain, using default values for all other featur...
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:122
Trig::ITrigDecisionToolLite::getEventStore
virtual const asg::EventStoreType * getEventStore() const =0
Internal call to obtain event store pointer from concrete tool implementation. Note that evtStore() i...
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition: HLTResultReader.h:26
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:19
Trig::ITrigDecisionToolLite::isPassed
virtual bool isPassed(const std::vector< std::string > &chains, const EventContext &ctx) const =0
Get the physics decision for the OR of a number of HLT trigger chains, by string.
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:78
TrigCompositeUtils::LinkInfo
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
Definition: ITrigDecisionToolLite.h:25
TrigCompositeUtils
Definition: Event/xAOD/xAODTrigger/xAODTrigger/TrigComposite.h:19
Trig::ITrigDecisionToolLite::typelessFeatures
virtual std::vector< TrigCompositeUtils::TypelessLinkInfo > typelessFeatures(const Trig::FeatureRequestDescriptor &frd, const CLID clid, const EventContext &ctx) const =0
Internal type erased features call.
Trig::ITrigDecisionToolLite::isPassed
virtual bool isPassed(const HLT::Identifier &chain, const EventContext &ctx) const =0
Get the physics decision for a HLT trigger chain, by identifier.
ITrigDecisionToolLite.icc
Identifier
Definition: IdentifierFieldParser.cxx:14