ATLAS Offline Software
Loading...
Searching...
No Matches
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),
static HLT::Identifier fromToolName(const std::string &tname)

◆ ~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}
#define ATH_MSG_DEBUG(x)
Gaudi::Property< bool > m_pass
virtual const HLT::Identifier & getId() const override
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:146
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.

◆ 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 39 of file TrigStreamerHypoTool.h.

◆ m_pass

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

Definition at line 40 of file TrigStreamerHypoTool.h.

40{ this, "Pass", true, "Pass or reject"};

The documentation for this class was generated from the following files: