ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigCaloHypo
src
TrigLArNoiseBurstAlg.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 "
TrigLArNoiseBurstAlg.h
"
6
#include "
TrigCompositeUtils/HLTIdentifier.h
"
7
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
8
#include "
TrigSteeringEvent/TrigRoiDescriptorCollection.h
"
9
10
#include "hltinterface/IInfoRegister.h"
11
#include "hltinterface/ContainerFactory.h"
12
13
using namespace
TrigCompositeUtils
;
14
15
TrigLArNoiseBurstAlg::TrigLArNoiseBurstAlg
(
const
std::string& name,
16
ISvcLocator* pSvcLocator ) :
17
::
HypoBase
( name, pSvcLocator ){}
18
19
20
StatusCode
TrigLArNoiseBurstAlg::initialize
() {
21
22
ATH_CHECK
(
m_hypoTools
.retrieve() );
23
ATH_CHECK
(
m_noiseBurstDetected
.initialize() );
24
25
return
StatusCode::SUCCESS;
26
}
27
28
StatusCode
TrigLArNoiseBurstAlg::execute
(
const
EventContext& context )
const
{
29
ATH_MSG_DEBUG
(
"Executing "
<< name() <<
"..."
);
30
31
auto
previousDecisionsHandle =
SG::makeHandle
(
decisionInput
(), context );
32
ATH_CHECK
( previousDecisionsHandle.isValid() );
33
ATH_MSG_DEBUG
(
"Running with "
<< previousDecisionsHandle->size() <<
" previous decisions"
);
34
35
// new output decisions
36
SG::WriteHandle<DecisionContainer>
outputHandle =
createAndStore
(
decisionOutput
(), context );
37
auto
decisions = outputHandle.
ptr
();
38
39
// input for decision
40
std::vector<ITrigLArNoiseBurstHypoTool::FlagNoiseInfo> toolInput;
41
42
ATH_CHECK
( previousDecisionsHandle->size() == 1 );
43
const
auto
previousDecision = previousDecisionsHandle->at(0);
44
//get RoI
45
auto
roiELInfo =
findLink<TrigRoiDescriptorCollection>
(context, previousDecision,
initialRoIString
() );
46
47
ATH_CHECK
( roiELInfo.isValid() );
48
const
TrigRoiDescriptor
* roi = *(roiELInfo.link);
49
50
SG::ReadHandle<bool>
flagHandle(
m_noiseBurstDetected
, context);
51
ATH_CHECK
( flagHandle.
isValid
() );
52
53
// Get new output decision, child of previousDecision
54
auto
d =
newDecisionIn
(decisions, previousDecision,
hypoAlgNodeName
(), context );
55
56
unsigned
int
flag(*flagHandle);
// to get information outside
57
// create summary struct
58
toolInput.emplace_back( d, flag, roi, previousDecision );
59
60
ATH_MSG_DEBUG
(
"Found "
<<toolInput.size()<<
" inputs to tools"
);
61
for
(
auto
& tool:
m_hypoTools
) {
62
ATH_CHECK
( tool->decide( toolInput ) );
63
}
64
65
return
StatusCode::SUCCESS;
66
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
HLTIdentifier.h
TrigCompositeUtils.h
TrigLArNoiseBurstAlg.h
TrigRoiDescriptorCollection.h
HypoBase::decisionInput
const SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > & decisionInput() const
methods for derived classes to access handles of the base class input other read/write handles may be...
Definition
HypoBase.cxx:18
HypoBase::decisionOutput
const SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > & decisionOutput() const
methods for derived classes to access handles of the base class output other read/write handles may b...
Definition
HypoBase.cxx:22
HypoBase::HypoBase
HypoBase(const std::string &name, ISvcLocator *pSvcLocator)
constructor, to be called by sub-class constructors
Definition
HypoBase.cxx:12
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
SG::WriteHandle::ptr
pointer_type ptr()
Dereference the pointer.
TrigLArNoiseBurstAlg::execute
virtual StatusCode execute(const EventContext &context) const override
Definition
TrigLArNoiseBurstAlg.cxx:28
TrigLArNoiseBurstAlg::m_noiseBurstDetected
SG::ReadHandleKey< bool > m_noiseBurstDetected
Definition
TrigLArNoiseBurstAlg.h:32
TrigLArNoiseBurstAlg::initialize
virtual StatusCode initialize() override
Definition
TrigLArNoiseBurstAlg.cxx:20
TrigLArNoiseBurstAlg::m_hypoTools
ToolHandleArray< ITrigLArNoiseBurstHypoTool > m_hypoTools
Definition
TrigLArNoiseBurstAlg.h:33
TrigLArNoiseBurstAlg::TrigLArNoiseBurstAlg
TrigLArNoiseBurstAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
TrigLArNoiseBurstAlg.cxx:15
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
Definition
TrigRoiDescriptor.h:48
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition
ReadCondHandle.h:269
TrigCompositeUtils
Definition
TrigComposite.h:19
TrigCompositeUtils::newDecisionIn
Decision * newDecisionIn(DecisionContainer *dc, const std::string &name)
Helper method to create a Decision object, place it in the container and return a pointer to it.
Definition
TrigCompositeUtilsRoot.cxx:44
TrigCompositeUtils::createAndStore
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
Definition
TrigCompositeUtilsRoot.cxx:28
TrigCompositeUtils::hypoAlgNodeName
const std::string & hypoAlgNodeName()
Definition
TrigCompositeUtils.h:428
TrigCompositeUtils::findLink
LinkInfo< T > findLink(const EventContext &ctx, const Decision *start, const std::string &linkName, const bool suppressMultipleLinksWarning=false)
Perform a recursive search for ElementLinks of type T and name 'linkName', starting from Decision obj...
TrigCompositeUtils::initialRoIString
const std::string & initialRoIString()
Definition
TrigCompositeUtils.h:418
Generated on
for ATLAS Offline Software by
1.17.0