ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigDitauHypo
src
TrigDiTauHypoTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
AthenaMonitoringKernel/Monitored.h
"
6
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
7
#include "
xAODTau/TauJetContainer.h
"
8
#include "GaudiKernel/SystemOfUnits.h"
9
10
#include "
TrigDiTauHypoTool.h
"
11
12
13
using namespace
TrigCompositeUtils
;
14
15
TrigDiTauHypoTool::TrigDiTauHypoTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent)
16
: base_class(
type
, name, parent),
17
m_decisionId
(
HLT
::
Identifier
::fromToolName(name))
18
{}
19
20
21
TrigDiTauHypoTool::~TrigDiTauHypoTool
()
22
{}
23
24
25
StatusCode
TrigDiTauHypoTool::initialize
()
26
{
27
ATH_MSG_DEBUG
(name() <<
": in initialize()"
);
28
29
ATH_MSG_DEBUG
(
"TrigDiTauHypoTool will cut on:"
);
30
ATH_MSG_DEBUG
(
" - PtMin : "
<<
m_ditau_pt_threshold
.value());
31
ATH_MSG_DEBUG
(
" - ID Score : "
<<
m_ditau_omni_score
.value());
32
ATH_MSG_DEBUG
(
" - Max Lead Trk: "
<<
m_ditau_lead_max_trk
.value());
33
ATH_MSG_DEBUG
(
" - Max Subl Trk: "
<<
m_ditau_subl_max_trk
.value());
34
return
StatusCode::SUCCESS;
35
}
36
37
38
bool
TrigDiTauHypoTool::decide
(
const
ITrigDiTauHypoTool::ToolInfo
& input)
const
39
{
40
static
const
SG::ConstAccessor< int >
n_tracks_leadAcc(
"n_tracks_lead"
);
41
static
const
SG::ConstAccessor< int >
n_tracks_sublAcc(
"n_tracks_subl"
);
42
static
const
SG::ConstAccessor< float >
ditau_ptAcc (
"ditau_pt"
);
43
static
const
SG::ConstAccessor< float >
omni_scoreAcc (
"omni_score"
);
44
ATH_MSG_DEBUG
(name() <<
": in execute()"
);
45
// Tau pass flag
46
bool
pass =
false
;
47
for
(
const
xAOD::DiTauJet
* diTau : *(input.diTauContainer)) {
48
if
(ditau_ptAcc(*diTau) <
m_ditau_pt_threshold
.value())
continue
;
49
if
(omni_scoreAcc(*diTau) <
m_ditau_omni_score
.value())
continue
;
50
if
(n_tracks_leadAcc(*diTau) >
m_ditau_lead_max_trk
.value() || n_tracks_leadAcc(*diTau) < 0)
continue
;
51
if
(n_tracks_sublAcc(*diTau) >
m_ditau_subl_max_trk
.value() || n_tracks_sublAcc(*diTau) < 0)
continue
;
52
pass =
true
;
53
}
54
ATH_MSG_DEBUG
(
" Pass hypo tool: "
<< pass);
55
return
pass;
56
}
57
58
59
StatusCode
TrigDiTauHypoTool::decide
(std::vector<ITrigDiTauHypoTool::ToolInfo>& input)
const
{
60
for
(
auto
& i : input) {
61
if
(
passed
(
m_decisionId
.numeric(), i.previousDecisionIDs)) {
62
if
(
decide
(i)) {
63
addDecisionID
(
m_decisionId
, i.decision);
64
}
65
}
66
}
67
68
return
StatusCode::SUCCESS;
69
}
70
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TauJetContainer.h
TrigCompositeUtils.h
TrigDiTauHypoTool.h
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition
ConstAccessor.h:55
TrigDiTauHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition
TrigDiTauHypoTool.h:23
TrigDiTauHypoTool::m_ditau_lead_max_trk
Gaudi::Property< int > m_ditau_lead_max_trk
Definition
TrigDiTauHypoTool.h:26
TrigDiTauHypoTool::decide
virtual StatusCode decide(std::vector< ITrigDiTauHypoTool::ToolInfo > &input) const override
Definition
TrigDiTauHypoTool.cxx:59
TrigDiTauHypoTool::m_ditau_pt_threshold
Gaudi::Property< float > m_ditau_pt_threshold
Definition
TrigDiTauHypoTool.h:24
TrigDiTauHypoTool::~TrigDiTauHypoTool
virtual ~TrigDiTauHypoTool()
Definition
TrigDiTauHypoTool.cxx:21
TrigDiTauHypoTool::TrigDiTauHypoTool
TrigDiTauHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TrigDiTauHypoTool.cxx:15
TrigDiTauHypoTool::initialize
virtual StatusCode initialize() override
Definition
TrigDiTauHypoTool.cxx:25
TrigDiTauHypoTool::m_ditau_omni_score
Gaudi::Property< float > m_ditau_omni_score
Definition
TrigDiTauHypoTool.h:25
TrigDiTauHypoTool::m_ditau_subl_max_trk
Gaudi::Property< int > m_ditau_subl_max_trk
Definition
TrigDiTauHypoTool.h:27
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
Definition
TrigComposite.h:19
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:118
TrigCompositeUtils::addDecisionID
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
Definition
TrigCompositeUtilsRoot.cxx:59
xAOD::DiTauJet
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition
DiTauJet.h:17
ITrigDiTauHypoTool::ToolInfo
Definition
ITrigDiTauHypoTool.h:21
type
Generated on
for ATLAS Offline Software by
1.17.0