ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigHLTJetHypo
src
TrigJetTLAHypoTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// ********************************************************************
6
//
7
// NAME: TrigJetTLAHypoTool.cxx
8
// PACKAGE: Trigger/TrigHypothesis/TrigHLTJetHypo
9
//
10
//
11
// ********************************************************************
12
13
#include "
TrigJetTLAHypoTool.h
"
14
15
#include "GaudiKernel/StatusCode.h"
16
17
#include "
TrigHLTJetHypo/TrigHLTJetHypoUtils/xAODJetAsIJetFactory.h
"
18
#include "
TrigHLTJetHypo/TrigHLTJetHypoUtils/lineSplitter.h
"
19
#include "
./DebugInfoCollector.h
"
20
#include "
./xAODJetCollector.h
"
21
22
#include "
TrigCompositeUtils/HLTIdentifier.h
"
23
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
24
#include "
xAODTrigger/TrigCompositeContainer.h
"
25
26
using
TrigCompositeUtils::DecisionID
;
27
using
TrigCompositeUtils::Decision
;
28
using
TrigCompositeUtils::DecisionContainer
;
29
using
TrigCompositeUtils::DecisionIDContainer
;
30
using
TrigCompositeUtils::decisionIDs
;
31
32
TrigJetTLAHypoTool::TrigJetTLAHypoTool
(
const
std::string&
type
,
33
const
std::string& name,
34
const
IInterface* parent) :
35
AthAlgTool
(
type
, name, parent),
36
m_decisionId
(
HLT
::
Identifier
::fromToolName(name)){
37
38
}
39
40
41
TrigJetTLAHypoTool::~TrigJetTLAHypoTool
(){
42
}
43
44
StatusCode
TrigJetTLAHypoTool::initialize
(){
45
46
if
(
m_visitDebug
){
47
48
DebugInfoCollector
collector(name());
49
CHECK
(
m_helper
->getDescription(collector));
50
auto
s = collector.
toString
();
51
52
for
(
const
auto
& l :
lineSplitter
(s)){
53
ATH_MSG_INFO
(l);
54
}
55
}
56
57
return
StatusCode::SUCCESS;
58
}
59
60
StatusCode
TrigJetTLAHypoTool::finalize
(){
61
return
StatusCode::SUCCESS;
62
}
63
64
StatusCode
65
TrigJetTLAHypoTool::decide
(
TrigCompositeUtils::DecisionContainer
* outputDecisions)
const
{
66
67
int
decision_count=0;
68
69
// jet hypo inputs:
70
// pairs of const xAOD::Jet* (first) and mutable Decision* (second)
71
72
for
(
auto
decision : *outputDecisions) {
73
74
//check that the previous decision comes from the appropriate chain
75
DecisionIDContainer
previousDecisionIDs;
76
const
auto
previousDecisionEL =
TrigCompositeUtils::getLinkToPrevious
(decision).at(0);
// We know that the parent HypoAlg added exactly one parent.
77
decisionIDs
(*previousDecisionEL, previousDecisionIDs);
78
//check that the previous decision corresponding to this decisionId was positive
79
if
( previousDecisionIDs.count(
m_decisionId
.numeric() ) > 0) {
80
TrigCompositeUtils::addDecisionID
(
getId
().numeric(), decision);
81
++decision_count;
82
}
83
}
84
85
86
ATH_MSG_DEBUG
(
"TrigJetTLAHypoTool: Passthrough decision count "
+ std::to_string(decision_count));
87
88
return
StatusCode::SUCCESS;
89
}
90
91
const
HLT::Identifier
&
TrigJetTLAHypoTool::getId
()
const
{
92
return
m_decisionId
;
93
}
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_INFO
#define ATH_MSG_INFO(x,...)
Definition
AthMsgStreamMacros.h:45
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
DebugInfoCollector.h
decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &id)
Extracts DecisionIDs stored in the Decision object.
Definition
TrigCompositeUtilsRoot.cxx:65
TrigCompositeContainer.h
HLTIdentifier.h
TrigCompositeUtils.h
TrigJetTLAHypoTool.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
DebugInfoCollector
Definition
DebugInfoCollector.h:13
DebugInfoCollector::toString
virtual std::string toString() const override
Definition
DebugInfoCollector.cxx:70
HLT::Identifier
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:19
TrigJetTLAHypoTool::~TrigJetTLAHypoTool
~TrigJetTLAHypoTool()
Definition
TrigJetTLAHypoTool.cxx:41
TrigJetTLAHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition
TrigJetTLAHypoTool.h:55
TrigJetTLAHypoTool::decide
StatusCode decide(TrigCompositeUtils::DecisionContainer *outputDecisions) const
Definition
TrigJetTLAHypoTool.cxx:65
TrigJetTLAHypoTool::getId
const HLT::Identifier & getId() const
Definition
TrigJetTLAHypoTool.cxx:91
TrigJetTLAHypoTool::m_helper
ToolHandle< ITrigJetHypoToolHelper > m_helper
Definition
TrigJetTLAHypoTool.h:57
TrigJetTLAHypoTool::finalize
StatusCode finalize()
Definition
TrigJetTLAHypoTool.cxx:60
TrigJetTLAHypoTool::TrigJetTLAHypoTool
TrigJetTLAHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TrigJetTLAHypoTool.cxx:32
TrigJetTLAHypoTool::m_visitDebug
Gaudi::Property< bool > m_visitDebug
Definition
TrigJetTLAHypoTool.h:61
TrigJetTLAHypoTool::initialize
StatusCode initialize()
Definition
TrigJetTLAHypoTool.cxx:44
lineSplitter
std::vector< std::string > lineSplitter(const std::string &s, char delimiter)
Definition
lineSplitter.cxx:8
lineSplitter.h
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition
HLTResultReader.h:26
Identifier
Definition
IdentifierFieldParser.cxx:14
TrigCompositeUtils::DecisionID
unsigned int DecisionID
Definition
TrigComposite_v1.h:27
TrigCompositeUtils::Decision
xAOD::TrigComposite Decision
Definition
TrigComposite.h:20
TrigCompositeUtils::getLinkToPrevious
const std::vector< ElementLink< DecisionContainer > > getLinkToPrevious(const Decision *d)
returns links to previous decision object 'seed'
Definition
TrigCompositeUtilsRoot.cxx:157
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition
TrigComposite_v1.h:28
TrigCompositeUtils::DecisionContainer
xAOD::TrigCompositeContainer DecisionContainer
Definition
TrigCompositeContainer.h:21
TrigCompositeUtils::addDecisionID
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
Definition
TrigCompositeUtilsRoot.cxx:59
TrigCompositeUtils::decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
Definition
TrigCompositeUtilsRoot.cxx:65
type
xAODJetAsIJetFactory.h
xAODJetCollector.h
Generated on
for ATLAS Offline Software by
1.17.0