ATLAS Offline Software
Trigger
TrigHypothesis
TrigHLTJetHypo
src
TrigJetHypoToolConfig_conditionfilter.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
6
#include "
TrigJetHypoToolConfig_conditionfilter.h
"
7
#include "GaudiKernel/StatusCode.h"
8
#include "
./RepeatedCondition.h
"
9
10
TrigJetHypoToolConfig_conditionfilter::TrigJetHypoToolConfig_conditionfilter
(
const
std::string&
type
,
11
const
std::string&
name
,
12
const
IInterface*
parent
) :
13
base_class(
type
,
name
,
parent
){
14
}
15
16
17
TrigJetHypoToolConfig_conditionfilter::~TrigJetHypoToolConfig_conditionfilter
(){
18
}
19
20
StatusCode
TrigJetHypoToolConfig_conditionfilter::initialize
() {
21
ATH_MSG_DEBUG
(
"initialising "
<<
name
());
22
return
StatusCode::SUCCESS;
23
}
24
25
26
ConditionPtrs
27
TrigJetHypoToolConfig_conditionfilter::getRepeatedConditions
()
const
{
28
29
ConditionPtrs
conditions;
30
31
// collect the Conditions objects from the various sources
32
33
for
(
const
auto
&
cm
:
m_conditionMakers
){
34
conditions.push_back(
cm
->getRepeatedCondition());
35
}
36
37
return
conditions;
38
}
39
40
41
FilterPtr
42
TrigJetHypoToolConfig_conditionfilter::getHypoJetVectorFilter
()
const
{
43
44
/* set up the prefilter by looping over the precondition
45
Condition maker AlgTools to obtain the elemental Conditions,
46
place these in a single compound Condition, and warp this in a
47
CondtionInverter. This is passed to the ConditionFilter object.
48
*/
49
50
// if no conditions the filter will apply n inverter to an empty
51
// Compound Condition, which will kill all events.
52
if
(
m_conditionMakers
.empty()) {
53
return
std::unique_ptr<ConditionFilter>(
nullptr
);
54
}
55
56
auto
makeElementalFilterCondition = [](
auto
& conditionMaker)->
ConditionPtr
{
57
return
conditionMaker->getRepeatedCondition();
58
};
59
60
// fill a container with pointers to an elemental condition
61
// note: IRepeatedCondition derives from ICondition
62
ConditionPtrs
prefilterConditions{};
63
std::transform
(
m_conditionMakers
.begin(),
64
m_conditionMakers
.end(),
65
std::back_inserter(prefilterConditions),
66
makeElementalFilterCondition);
67
68
// create an filter from the vector containing the inverted condition.
69
return
std::make_unique<ConditionFilter>(std::move(prefilterConditions));
70
}
71
TrigJetHypoToolConfig_conditionfilter::TrigJetHypoToolConfig_conditionfilter
TrigJetHypoToolConfig_conditionfilter(const std::string &type, const std::string &name, const IInterface *parent)
Definition:
TrigJetHypoToolConfig_conditionfilter.cxx:10
FilterPtr
std::unique_ptr< IHypoJetVectorFilter > FilterPtr
Definition:
ITrigHypoJetVectorFilterConfig.h:10
TrigJetHypoToolConfig_conditionfilter.h
cm
const double cm
Definition:
Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
TrigJetHypoToolConfig_conditionfilter::getRepeatedConditions
ConditionPtrs getRepeatedConditions() const
Definition:
TrigJetHypoToolConfig_conditionfilter.cxx:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition:
AthMsgStreamMacros.h:29
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition:
GeoPrimitivesHelpers.h:156
TrigJetHypoToolConfig_conditionfilter::~TrigJetHypoToolConfig_conditionfilter
virtual ~TrigJetHypoToolConfig_conditionfilter()
Definition:
TrigJetHypoToolConfig_conditionfilter.cxx:17
test_pyathena.parent
parent
Definition:
test_pyathena.py:15
ConditionPtr
std::unique_ptr< IRepeatedCondition > ConditionPtr
Definition:
RepeatedConditionsDefs.h:19
TrigJetHypoToolConfig_conditionfilter::m_conditionMakers
ToolHandleArray< ITrigJetRepeatedConditionConfig > m_conditionMakers
Definition:
TrigJetHypoToolConfig_conditionfilter.h:48
TrigJetHypoToolConfig_conditionfilter::getHypoJetVectorFilter
virtual FilterPtr getHypoJetVectorFilter() const override
Definition:
TrigJetHypoToolConfig_conditionfilter.cxx:42
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:195
ConditionPtrs
std::vector< ConditionPtr > ConditionPtrs
Definition:
RepeatedConditionsDefs.h:20
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
TrigJetHypoToolConfig_conditionfilter::initialize
virtual StatusCode initialize() override
Definition:
TrigJetHypoToolConfig_conditionfilter.cxx:20
RepeatedCondition.h
Generated on Tue Jul 2 2024 21:30:44 for ATLAS Offline Software by
1.8.18