ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
ThinningUtils
src
ThinNegativeEnergyNeutralPFOsAlg.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef THINNINGUTILS_ThinNegativeEnergyNeutralPFOsAlg_H
8
#define THINNINGUTILS_ThinNegativeEnergyNeutralPFOsAlg_H 1
9
13
14
// STL includes
15
#include <string>
16
17
// FrameWork includes
18
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
19
#include "GaudiKernel/ServiceHandle.h"
20
#include "GaudiKernel/ToolHandle.h"
21
#include "
StoreGate/ThinningHandleKey.h
"
22
23
#include "
xAODPFlow/FlowElementContainer.h
"
24
25
class
ThinNegativeEnergyNeutralPFOsAlg
final :
public
AthReentrantAlgorithm
26
{
27
public
:
29
ThinNegativeEnergyNeutralPFOsAlg
(
const
std::string& name,
30
ISvcLocator* pSvcLocator);
31
33
virtual
~ThinNegativeEnergyNeutralPFOsAlg
() =
default
;
34
36
virtual
StatusCode
initialize
() override final;
37
39
virtual StatusCode
execute
(
const
EventContext& ctx)
const
override final;
40
42
virtual StatusCode
finalize
() override final;
43
44
private
:
45
StringProperty
m_streamName
{
46
this
,
47
"StreamName"
,
48
""
,
49
"Name of the stream for which thinning is being done."
50
};
51
53
BooleanProperty
m_doThinning
{
54
this
,
55
"ThinNegativeEnergyNeutralPFOs"
,
56
true
,
57
"Should the thinning of negative energy neutral PFOs be run?"
58
};
59
61
SG::ThinningHandleKey<xAOD::FlowElementContainer>
m_neutralPFOsKey
{
62
this
,
63
"NeutralPFOsKey"
,
64
"JetETMissNeutralParticleFlowObjects"
,
65
"StoreGate key for the FlowElementContainer to be thinned"
66
};
67
SG::ThinningHandleKey<xAOD::FlowElementContainer>
m_LCNeutralPFOsKey
{
68
this
,
69
"LCNeutralPFOsKey"
,
70
"JetETMissLCNeutralParticleFlowObjects"
,
71
"StoreGate key for the LC FlowElementContainer to be thinned (if any)"
72
};
73
75
mutable
std::atomic<unsigned long>
m_nEventsProcessed
;
76
mutable
std::atomic<unsigned long>
m_nNeutralPFOsProcessed
;
77
mutable
std::atomic<unsigned long>
m_nNeutralPFOsThinned
;
78
};
79
80
#endif
//> !THINNINGUTILS_ThinNegativeEnergyNeutralPFOsAlg_H
AthReentrantAlgorithm.h
FlowElementContainer.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition
ThinningHandleKey.h:39
ThinNegativeEnergyNeutralPFOsAlg::m_doThinning
BooleanProperty m_doThinning
Should the thinning run?
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:53
ThinNegativeEnergyNeutralPFOsAlg::ThinNegativeEnergyNeutralPFOsAlg
ThinNegativeEnergyNeutralPFOsAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition
ThinNegativeEnergyNeutralPFOsAlg.cxx:33
ThinNegativeEnergyNeutralPFOsAlg::finalize
virtual StatusCode finalize() override final
Athena algorithm's finalize hook.
Definition
ThinNegativeEnergyNeutralPFOsAlg.cxx:80
ThinNegativeEnergyNeutralPFOsAlg::m_nNeutralPFOsThinned
std::atomic< unsigned long > m_nNeutralPFOsThinned
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:77
ThinNegativeEnergyNeutralPFOsAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Athena algorithm's execute hook.
Definition
ThinNegativeEnergyNeutralPFOsAlg.cxx:91
ThinNegativeEnergyNeutralPFOsAlg::m_LCNeutralPFOsKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_LCNeutralPFOsKey
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:67
ThinNegativeEnergyNeutralPFOsAlg::~ThinNegativeEnergyNeutralPFOsAlg
virtual ~ThinNegativeEnergyNeutralPFOsAlg()=default
Destructor:
ThinNegativeEnergyNeutralPFOsAlg::initialize
virtual StatusCode initialize() override final
Athena algorithm's initalize hook.
Definition
ThinNegativeEnergyNeutralPFOsAlg.cxx:46
ThinNegativeEnergyNeutralPFOsAlg::m_neutralPFOsKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_neutralPFOsKey
Names of the containers to thin.
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:61
ThinNegativeEnergyNeutralPFOsAlg::m_nNeutralPFOsProcessed
std::atomic< unsigned long > m_nNeutralPFOsProcessed
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:76
ThinNegativeEnergyNeutralPFOsAlg::m_streamName
StringProperty m_streamName
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:45
ThinNegativeEnergyNeutralPFOsAlg::m_nEventsProcessed
std::atomic< unsigned long > m_nEventsProcessed
Counters.
Definition
ThinNegativeEnergyNeutralPFOsAlg.h:75
const
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0