ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
TrigStreamerHypoTool Class Reference

#include <TrigStreamerHypoTool.h>

Inheritance diagram for TrigStreamerHypoTool:
Collaboration diagram for TrigStreamerHypoTool:

Public Member Functions

 TrigStreamerHypoTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~TrigStreamerHypoTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual StatusCode decide (std::vector< ITrigStreamerHypoTool::HypoInfo > &hypoInfo) const override
 
virtual const HLT::IdentifiergetId () const override
 

Private Attributes

HLT::Identifier m_decisionId
 
Gaudi::Property< bool > m_pass { this, "Pass", true, "Pass or reject"}
 

Detailed Description

Definition at line 22 of file TrigStreamerHypoTool.h.

Constructor & Destructor Documentation

◆ TrigStreamerHypoTool()

TrigStreamerHypoTool::TrigStreamerHypoTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 16 of file TrigStreamerHypoTool.cxx.

18  :
19  base_class(type, name, parent),

◆ ~TrigStreamerHypoTool()

TrigStreamerHypoTool::~TrigStreamerHypoTool ( )
virtual

Definition at line 23 of file TrigStreamerHypoTool.cxx.

23 {}

Member Function Documentation

◆ decide()

StatusCode TrigStreamerHypoTool::decide ( std::vector< ITrigStreamerHypoTool::HypoInfo > &  hypoInfo) const
overridevirtual

Definition at line 35 of file TrigStreamerHypoTool.cxx.

36 {
37  ATH_MSG_DEBUG("Executing decide() of " << name() << " over " << hypoInfo.size() << " Decision Objects" );
38  if ( not m_pass ) {
39  ATH_MSG_DEBUG("Pass option is false, rejecting");
40  return StatusCode::SUCCESS;
41  }
42  size_t count = 0;
43  for (ITrigStreamerHypoTool::HypoInfo& hi : hypoInfo) {
44  // Perform logic-flow check (this HypoTool can only accept the chain if the chain was active also in the previous decision object)
45  if (TrigCompositeUtils::passed(getId().numeric(), hi.m_previousDecisionIDs)) {
46  // There is no other pass/fail logic - this is a streamer, we accept unconditionally
47  ATH_MSG_DEBUG("Decision Object at index " << count << " Passed previous trigger step, passing here too.");
48  TrigCompositeUtils::addDecisionID(getId().numeric(), hi.m_newDecision);
49  } else {
50  ATH_MSG_DEBUG("Decision Object at index " << count << " didn't pass previous trigger step. Cannot be accepted here.");
51  }
52  ++count;
53  }
54 
55  return StatusCode::SUCCESS;
56 
57 }

◆ finalize()

StatusCode TrigStreamerHypoTool::finalize ( )
overridevirtual

Definition at line 31 of file TrigStreamerHypoTool.cxx.

31  {
32  return StatusCode::SUCCESS;
33 }

◆ getId()

const HLT::Identifier & TrigStreamerHypoTool::getId ( ) const
overridevirtual

Definition at line 59 of file TrigStreamerHypoTool.cxx.

59  {
60  return m_decisionId;
61 }

◆ initialize()

StatusCode TrigStreamerHypoTool::initialize ( )
overridevirtual

Definition at line 26 of file TrigStreamerHypoTool.cxx.

26  {
27  ATH_MSG_DEBUG("Initializing TrigStreamerHypoTool for " << name());
28  return StatusCode::SUCCESS;
29 }

Member Data Documentation

◆ m_decisionId

HLT::Identifier TrigStreamerHypoTool::m_decisionId
private

Definition at line 45 of file TrigStreamerHypoTool.h.

◆ m_pass

Gaudi::Property<bool> TrigStreamerHypoTool::m_pass { this, "Pass", true, "Pass or reject"}
private

Definition at line 46 of file TrigStreamerHypoTool.h.


The documentation for this class was generated from the following files:
TrigCompositeUtils::passed
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
Definition: TrigCompositeUtilsRoot.cxx:117
TrigCompositeUtils::addDecisionID
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
Definition: TrigCompositeUtilsRoot.cxx:61
TrigStreamerHypoTool::getId
virtual const HLT::Identifier & getId() const override
Definition: TrigStreamerHypoTool.cxx:59
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
HLT::Identifier::fromToolName
static HLT::Identifier fromToolName(const std::string &tname)
Definition: HLTIdentifier.cxx:31
ITrigStreamerHypoTool::HypoInfo
Definition: ITrigStreamerHypoTool.h:19
TrigStreamerHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigStreamerHypoTool.h:45
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigStreamerHypoTool::m_pass
Gaudi::Property< bool > m_pass
Definition: TrigStreamerHypoTool.h:46