ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigEgammaForwardHypo
src
TrigEgammaForwardPrecisionElectronHypoTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include <algorithm>
6
#include "
TrigCompositeUtils/HLTIdentifier.h
"
7
#include "
TrigCompositeUtils/Combinators.h
"
8
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
9
#include "
TrigSteeringEvent/TrigRoiDescriptor.h
"
10
#include "
AthenaMonitoringKernel/Monitored.h
"
11
#include "
xAODEgamma/Electron.h
"
12
#include "
TrigEgammaForwardPrecisionElectronHypoTool.h
"
13
14
namespace
TCU
=
TrigCompositeUtils
;
15
16
TrigEgammaForwardPrecisionElectronHypoTool::TrigEgammaForwardPrecisionElectronHypoTool
(
const
std::string&
type
,
17
const
std::string& name,
18
const
IInterface* parent )
19
: base_class(
type
, name, parent ),
20
m_decisionId
(
HLT
::
Identifier
::fromToolName( name ) ) {
21
}
22
23
24
StatusCode
TrigEgammaForwardPrecisionElectronHypoTool::initialize
()
25
{
26
ATH_MSG_DEBUG
(
"Initialization completed successfully"
);
27
28
ATH_MSG_DEBUG
(
"Tool configured for chain/id: "
<<
m_decisionId
);
29
30
if
( not
m_monTool
.name().empty() )
31
CHECK
(
m_monTool
.retrieve() );
32
33
return
StatusCode::SUCCESS;
34
}
35
36
37
bool
TrigEgammaForwardPrecisionElectronHypoTool::decide
(
const
ITrigEgammaForwardPrecisionElectronHypoTool::ElectronInfo
&
/*input*/
)
const
{
38
39
bool
pass =
true
;
40
41
// Reach this point successfully
42
ATH_MSG_DEBUG
(
"pass = "
<< pass );
43
44
return
pass;
45
}
46
47
48
49
int
TrigEgammaForwardPrecisionElectronHypoTool::findCutIndex
(
float
eta
)
const
{
50
const
float
absEta = std::abs(
eta
);
51
auto
binIterator = std::adjacent_find(
m_etabin
.begin(),
m_etabin
.end(), [=](
float
left,
float
right){ return left < absEta and absEta < right; } );
52
if
( binIterator ==
m_etabin
.end() ) {
53
return
-1;
54
}
55
return
binIterator -
m_etabin
.begin();
56
}
57
58
59
StatusCode
TrigEgammaForwardPrecisionElectronHypoTool::decide
( std::vector<ElectronInfo>& input)
const
{
60
for
(
auto
& i: input ) {
61
if
(
TCU::passed
(
m_decisionId
.
numeric
(), i.previousDecisionIDs ) ) {
62
if
(
decide
( i ) ) {
63
TCU::addDecisionID
(
m_decisionId
, i.decision );
64
}
65
}
66
}
67
return
StatusCode::SUCCESS;
68
}
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
Electron.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
Combinators.h
HLTIdentifier.h
TrigCompositeUtils.h
TrigEgammaForwardPrecisionElectronHypoTool.h
TrigRoiDescriptor.h
HLT::Identifier::numeric
TrigCompositeUtils::DecisionID numeric() const
numeric ID
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:41
TrigEgammaForwardPrecisionElectronHypoTool::m_etabin
Gaudi::Property< std::vector< float > > m_etabin
selection variable for PRECISION electron selection:eta bins
Definition
TrigEgammaForwardPrecisionElectronHypoTool.h:33
TrigEgammaForwardPrecisionElectronHypoTool::TrigEgammaForwardPrecisionElectronHypoTool
TrigEgammaForwardPrecisionElectronHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TrigEgammaForwardPrecisionElectronHypoTool.cxx:16
TrigEgammaForwardPrecisionElectronHypoTool::initialize
virtual StatusCode initialize() override
Definition
TrigEgammaForwardPrecisionElectronHypoTool.cxx:24
TrigEgammaForwardPrecisionElectronHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition
TrigEgammaForwardPrecisionElectronHypoTool.h:31
TrigEgammaForwardPrecisionElectronHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
TrigEgammaForwardPrecisionElectronHypoTool.h:35
TrigEgammaForwardPrecisionElectronHypoTool::decide
virtual StatusCode decide(std::vector< ITrigEgammaForwardPrecisionElectronHypoTool::ElectronInfo > &input) const override
TrigEgammaForwardPrecisionElectronHypoTool::findCutIndex
int findCutIndex(float eta) const
Definition
TrigEgammaForwardPrecisionElectronHypoTool.cxx:49
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
type
ITrigEgammaForwardPrecisionElectronHypoTool::ElectronInfo
Definition
ITrigEgammaForwardPrecisionElectronHypoTool.h:25
Generated on
for ATLAS Offline Software by
1.17.0