ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigHLTJetHypo
src
TrigJetHypoTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGJETHYPOTOOL_H
6
#define TRIGJETHYPOTOOL_H
7
/********************************************************************
8
*
9
* NAME: TrigJetHypoTool.h
10
* PACKAGE: Trigger/TrigHypothesis/TrigHLTJetHypo
11
*
12
*
13
*********************************************************************/
14
15
16
#include "
TrigCompositeUtils/HLTIdentifier.h
"
17
#include "
AthenaBaseComps/AthAlgTool.h
"
18
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
19
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
20
21
#include "
TrigHLTJetHypo/ITrigJetHypoToolHelper.h
"
22
23
#include "
xAODEventInfo/EventInfo.h
"
24
#include "
xAODJet/JetContainer.h
"
25
26
#include <string>
27
#include <vector>
28
#include <atomic>
29
#include <utility>
//std::pair
30
31
class
TrigJetHypoTool
:
public
AthAlgTool
{
32
33
public
:
34
35
TrigJetHypoTool
(
const
std::string&
type
,
36
const
std::string& name,
37
const
IInterface* parent);
38
39
~TrigJetHypoTool
();
40
StatusCode
initialize
();
41
StatusCode
finalize
();
42
43
// typedef for passing jet - decision object assocation
44
using
JetDecision
= std::pair<const xAOD::Jet*,TrigCompositeUtils::Decision*>;
45
46
StatusCode
47
decide
(
const
xAOD::JetContainer
* jets,
48
const
TrigCompositeUtils::DecisionIDContainer
& previousDecisionIDs,
49
std::vector<JetDecision>& jetHypoInputs)
const
;
50
51
const
HLT::Identifier
&
getID
(std::size_t)
const
;
52
const
std::vector<HLT::Identifier>&
getIDs
()
const
;
53
54
private
:
55
56
// Identifies is used to keep track of which tool made which decision.
57
// The information is stored in the event store.
58
// There will be as many entries in the IDs vector as there are chain parts.
59
// Howver, the zeroth entry is calculated differently for one and multi
60
// chain part chains.
61
62
// single chainpart ID, claculated from name of Algorithm
63
// use this to determine whether the hypo should run.
64
HLT::Identifier
m_decisionID
;
65
66
//single and Multi chaionpart IDs
67
// if single chain part then single entry, same as m_desionId
68
// else one entry per chain part. the zeroth welement is calculated
69
// using m_decisionID and the chain part index = 0
70
// use these IDs to report participating jets "by leg"
71
std::vector<HLT::Identifier>
m_decisionIDs
{};
72
73
ToolHandle<ITrigJetHypoToolHelper>
m_helper
{
74
this
,
"helper_tool"
, {},
"Jet hypo helper AlgTool"
};
75
76
Gaudi::Property<std::size_t>
m_startLabelIndex
{
// no of chain parts + 1
77
this
,
"startLabelIndex"
, {0},
"start value for leg indices"
};
78
79
Gaudi::Property<std::size_t>
m_endLabelIndex
{
// no of chain parts + 1
80
this
,
"endLabelIndex"
, {0},
"end value for leg indices"
};
81
82
Gaudi::Property<bool>
m_visitDebug
{
83
this
,
"visit_debug"
,
false
,
"debug flag"
};
84
85
Gaudi::Property<std::string>
m_chainName
{
86
this
,
"chain_name"
, {},
"chain name"
};
87
88
89
mutable
std::atomic<size_t>
m_id
= 0;
90
91
ToolHandle<GenericMonitoringTool>
m_monTool
{
this
,
"MonTool"
,
""
,
"Monitoring tool"
};
92
93
StatusCode
94
checkPassingJets
(
const
xAODJetCollector
&,
95
const
std::unique_ptr<ITrigJetHypoInfoCollector>&)
const
;
96
97
StatusCode
98
reportPassingJets
(
const
xAODJetCollector
&,
99
const
std::vector<JetDecision>& jetHypoInputs)
const
;
100
101
StatusCode
102
reportLeg
(
const
std::vector<const xAOD::Jet*>& jets,
103
const
std::vector<JetDecision>& jetHypoInputs,
104
int
legInd)
const
;
105
106
bool
107
inputJetParticipates
(
const
std::vector<const xAOD::Jet*>& jets,
108
const
JetDecision
&
pair
)
const
;
109
110
};
111
#endif
AthAlgTool.h
GenericMonitoringTool.h
ITrigJetHypoToolHelper.h
JetContainer.h
HLTIdentifier.h
TrigCompositeUtils.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
HLT::Identifier
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:19
TrigJetHypoTool::checkPassingJets
StatusCode checkPassingJets(const xAODJetCollector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const
Definition
TrigJetHypoTool.cxx:273
TrigJetHypoTool::m_decisionIDs
std::vector< HLT::Identifier > m_decisionIDs
Definition
TrigJetHypoTool.h:71
TrigJetHypoTool::finalize
StatusCode finalize()
Definition
TrigJetHypoTool.cxx:98
TrigJetHypoTool::m_id
std::atomic< size_t > m_id
Definition
TrigJetHypoTool.h:89
TrigJetHypoTool::TrigJetHypoTool
TrigJetHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TrigJetHypoTool.cxx:41
TrigJetHypoTool::reportLeg
StatusCode reportLeg(const std::vector< const xAOD::Jet * > &jets, const std::vector< JetDecision > &jetHypoInputs, int legInd) const
Definition
TrigJetHypoTool.cxx:338
TrigJetHypoTool::JetDecision
std::pair< const xAOD::Jet *, TrigCompositeUtils::Decision * > JetDecision
Definition
TrigJetHypoTool.h:44
TrigJetHypoTool::m_helper
ToolHandle< ITrigJetHypoToolHelper > m_helper
Definition
TrigJetHypoTool.h:73
TrigJetHypoTool::m_endLabelIndex
Gaudi::Property< std::size_t > m_endLabelIndex
Definition
TrigJetHypoTool.h:79
TrigJetHypoTool::~TrigJetHypoTool
~TrigJetHypoTool()
Definition
TrigJetHypoTool.cxx:50
TrigJetHypoTool::m_visitDebug
Gaudi::Property< bool > m_visitDebug
Definition
TrigJetHypoTool.h:82
TrigJetHypoTool::getIDs
const std::vector< HLT::Identifier > & getIDs() const
Definition
TrigJetHypoTool.cxx:262
TrigJetHypoTool::m_chainName
Gaudi::Property< std::string > m_chainName
Definition
TrigJetHypoTool.h:85
TrigJetHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
TrigJetHypoTool.h:91
TrigJetHypoTool::getID
const HLT::Identifier & getID(std::size_t) const
Definition
TrigJetHypoTool.cxx:267
TrigJetHypoTool::initialize
StatusCode initialize()
Definition
TrigJetHypoTool.cxx:53
TrigJetHypoTool::m_startLabelIndex
Gaudi::Property< std::size_t > m_startLabelIndex
Definition
TrigJetHypoTool.h:76
TrigJetHypoTool::m_decisionID
HLT::Identifier m_decisionID
Definition
TrigJetHypoTool.h:64
TrigJetHypoTool::decide
StatusCode decide(const xAOD::JetContainer *jets, const TrigCompositeUtils::DecisionIDContainer &previousDecisionIDs, std::vector< JetDecision > &jetHypoInputs) const
Definition
TrigJetHypoTool.cxx:104
TrigJetHypoTool::inputJetParticipates
bool inputJetParticipates(const std::vector< const xAOD::Jet * > &jets, const JetDecision &pair) const
Definition
TrigJetHypoTool.cxx:366
TrigJetHypoTool::reportPassingJets
StatusCode reportPassingJets(const xAODJetCollector &, const std::vector< JetDecision > &jetHypoInputs) const
Definition
TrigJetHypoTool.cxx:322
pair
STL class.
xAODJetCollector
Definition
xAODJetCollector.h:20
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition
TrigComposite_v1.h:28
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
type
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0