ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
CommonTools
ExpressionEvaluation
src
TriggerDecisionProxyLoader.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// TriggerDecisionProxyLoader.cxx, (c) ATLAS Detector software
8
// Author: Thomas Gillam (thomas.gillam@cern.ch)
9
// James Catmore (james.catmore@cern.ch)
10
// ExpressionParsing library
12
13
#include "
ExpressionEvaluation/TriggerDecisionProxyLoader.h
"
14
#include <set>
15
#include <string>
16
17
namespace
ExpressionParsing
{
18
TriggerDecisionProxyLoader::~TriggerDecisionProxyLoader
()
19
{
20
}
21
22
void
TriggerDecisionProxyLoader::reset
()
23
{
24
}
25
26
IAccessor::VariableType
TriggerDecisionProxyLoader::variableTypeFromString
(
const
std::string &varname)
const
27
{
28
static
const
std::set<std::string> knownPrefixes{
"L1"
,
"L2"
,
"EF"
,
"HLT"
};
29
30
std::size_t location = varname.find(
'_'
);
31
if
(location == std::string::npos)
return
VT_UNK
;
32
std::string prefix(varname.begin(), varname.begin()+location);
33
34
if
(std::find(knownPrefixes.begin(), knownPrefixes.end(), prefix) != knownPrefixes.end())
return
VT_INT
;
35
else
return
VT_UNK
;
36
}
37
38
int
TriggerDecisionProxyLoader::loadInt
([[maybe_unused]]
const
EventContext& ctx,
const
std::string &varname)
const
39
{
40
bool
passed
(
false
);
41
if
( varname ==
""
)
return
(0);
// no name => ?
42
// trigger decision
43
passed
=
m_trigDec
->isPassed(varname);
44
if
(
passed
)
return
(1);
45
else
return
(0);
46
}
47
48
double
TriggerDecisionProxyLoader::loadDouble
([[maybe_unused]]
const
EventContext& ctx,
const
std::string &varname)
const
49
{
50
throw
std::runtime_error(
"Trigger decision can't be a double: check "
+ varname);
51
}
52
53
std::vector<int>
TriggerDecisionProxyLoader::loadVecInt
([[maybe_unused]]
const
EventContext& ctx,
const
std::string &varname)
const
54
{
55
throw
std::runtime_error(
"Trigger decision can't be vector<int>: check "
+ varname);
56
}
57
58
std::vector<double>
TriggerDecisionProxyLoader::loadVec
([[maybe_unused]]
const
EventContext& ctx,
const
std::string &varname)
const
59
{
60
throw
std::runtime_error(
"Trigger decision can't be vector<double>: check "
+ varname);
61
}
62
}
passed
bool passed(DecisionID id, const DecisionIDContainer &)
checks if required decision ID is in the set of IDs in the container
Definition
TrigCompositeUtilsRoot.cxx:118
TriggerDecisionProxyLoader.h
ExpressionParsing::IAccessor::VariableType
VariableType
Definition
IAccessor.h:19
ExpressionParsing::IAccessor::VT_INT
@ VT_INT
Definition
IAccessor.h:19
ExpressionParsing::IAccessor::VT_UNK
@ VT_UNK
Definition
IAccessor.h:19
ExpressionParsing::TriggerDecisionProxyLoader::loadVec
virtual std::vector< double > loadVec(const EventContext &ctx, const std::string &varname) const override
Definition
TriggerDecisionProxyLoader.cxx:58
ExpressionParsing::TriggerDecisionProxyLoader::~TriggerDecisionProxyLoader
virtual ~TriggerDecisionProxyLoader()
Definition
TriggerDecisionProxyLoader.cxx:18
ExpressionParsing::TriggerDecisionProxyLoader::loadDouble
virtual double loadDouble(const EventContext &ctx, const std::string &varname) const override
Definition
TriggerDecisionProxyLoader.cxx:48
ExpressionParsing::TriggerDecisionProxyLoader::variableTypeFromString
virtual IAccessor::VariableType variableTypeFromString(const std::string &varname) const override
Definition
TriggerDecisionProxyLoader.cxx:26
ExpressionParsing::TriggerDecisionProxyLoader::loadInt
virtual int loadInt(const EventContext &ctx, const std::string &varname) const override
Definition
TriggerDecisionProxyLoader.cxx:38
ExpressionParsing::TriggerDecisionProxyLoader::loadVecInt
virtual std::vector< int > loadVecInt(const EventContext &ctx, const std::string &varname) const override
Definition
TriggerDecisionProxyLoader.cxx:53
ExpressionParsing::TriggerDecisionProxyLoader::m_trigDec
ToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition
TriggerDecisionProxyLoader.h:37
ExpressionParsing::TriggerDecisionProxyLoader::reset
virtual void reset() override
Definition
TriggerDecisionProxyLoader.cxx:22
ExpressionParsing
Namespace holding all the expression evaluation code.
Definition
ExpressionParser.h:26
Generated on
for ATLAS Offline Software by
1.17.0