ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
ThinningUtils
src
ThinInDetForwardTrackParticlesAlg.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef THINNINGUTILS_ThinInDetForwardTrackParticlesAlg_H
8
#define THINNINGUTILS_ThinInDetForwardTrackParticlesAlg_H 1
9
13
14
// FrameWork includes
15
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
16
#include "GaudiKernel/ServiceHandle.h"
17
#include "GaudiKernel/ToolHandle.h"
18
#include "
StoreGate/ReadHandleKey.h
"
19
#include "
StoreGate/ThinningHandleKey.h
"
20
#include "
xAODMuon/MuonContainer.h
"
21
#include "
xAODTracking/TrackParticleContainer.h
"
22
23
// STL includes
24
#include <atomic>
25
#include <string>
26
27
class
ThinInDetForwardTrackParticlesAlg
final :
public
AthReentrantAlgorithm
28
{
29
public
:
31
ThinInDetForwardTrackParticlesAlg
(
const
std::string& name,
32
ISvcLocator* pSvcLocator);
33
35
virtual
~ThinInDetForwardTrackParticlesAlg
() =
default
;
36
38
virtual
StatusCode
initialize
()
override
;
39
41
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
42
44
virtual
StatusCode
finalize
()
override
;
45
46
private
:
47
StringProperty
m_streamName
{
this
,
48
"StreamName"
,
49
""
,
50
"Stream for which to thin"
};
51
52
SG::ThinningHandleKey<xAOD::TrackParticleContainer>
m_tracksKey
{
53
this
,
54
"TracksKey"
,
55
"InDetForwardTrackParticles"
,
56
"Tracks to thin"
57
};
58
59
SG::ReadHandleKey<xAOD::MuonContainer>
60
m_muonsKey
{
this
,
"MuonsKey"
,
"Muons"
,
"Muons to use for thinning"
};
61
63
BooleanProperty
m_doThinning
{
64
this
,
65
"ThinInDetForwardTrackParticles"
,
66
true
,
67
"Should the InDetForwardTrackParticles thinning be run?"
68
};
69
71
mutable
std::atomic<unsigned long>
m_nEventsProcessed
{};
72
mutable
std::atomic<unsigned long>
m_nTracksProcessed
{};
73
mutable
std::atomic<unsigned long>
m_nTracksThinned
{};
74
mutable
std::atomic<unsigned long>
m_nMuons
{};
75
mutable
std::atomic<unsigned long>
m_nSiFwdMuons
{};
76
mutable
std::atomic<unsigned long>
m_nSiFwdAssoc
{};
77
};
78
79
#endif
//> !THINNINGUTILS_ThinInDetForwardTrackParticlesAlg_H
AthReentrantAlgorithm.h
MuonContainer.h
TrackParticleContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
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::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition
ThinningHandleKey.h:39
ThinInDetForwardTrackParticlesAlg::m_nSiFwdAssoc
std::atomic< unsigned long > m_nSiFwdAssoc
Definition
ThinInDetForwardTrackParticlesAlg.h:76
ThinInDetForwardTrackParticlesAlg::m_nEventsProcessed
std::atomic< unsigned long > m_nEventsProcessed
Counters.
Definition
ThinInDetForwardTrackParticlesAlg.h:71
ThinInDetForwardTrackParticlesAlg::m_nTracksThinned
std::atomic< unsigned long > m_nTracksThinned
Definition
ThinInDetForwardTrackParticlesAlg.h:73
ThinInDetForwardTrackParticlesAlg::m_streamName
StringProperty m_streamName
Definition
ThinInDetForwardTrackParticlesAlg.h:47
ThinInDetForwardTrackParticlesAlg::ThinInDetForwardTrackParticlesAlg
ThinInDetForwardTrackParticlesAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition
ThinInDetForwardTrackParticlesAlg.cxx:36
ThinInDetForwardTrackParticlesAlg::initialize
virtual StatusCode initialize() override
Athena algorithm's initalize hook.
Definition
ThinInDetForwardTrackParticlesAlg.cxx:46
ThinInDetForwardTrackParticlesAlg::m_nSiFwdMuons
std::atomic< unsigned long > m_nSiFwdMuons
Definition
ThinInDetForwardTrackParticlesAlg.h:75
ThinInDetForwardTrackParticlesAlg::m_tracksKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_tracksKey
Definition
ThinInDetForwardTrackParticlesAlg.h:52
ThinInDetForwardTrackParticlesAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Athena algorithm's execute hook.
Definition
ThinInDetForwardTrackParticlesAlg.cxx:87
ThinInDetForwardTrackParticlesAlg::finalize
virtual StatusCode finalize() override
Athena algorithm's finalize hook.
Definition
ThinInDetForwardTrackParticlesAlg.cxx:72
ThinInDetForwardTrackParticlesAlg::m_nMuons
std::atomic< unsigned long > m_nMuons
Definition
ThinInDetForwardTrackParticlesAlg.h:74
ThinInDetForwardTrackParticlesAlg::m_muonsKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonsKey
Definition
ThinInDetForwardTrackParticlesAlg.h:60
ThinInDetForwardTrackParticlesAlg::m_nTracksProcessed
std::atomic< unsigned long > m_nTracksProcessed
Definition
ThinInDetForwardTrackParticlesAlg.h:72
ThinInDetForwardTrackParticlesAlg::~ThinInDetForwardTrackParticlesAlg
virtual ~ThinInDetForwardTrackParticlesAlg()=default
Destructor:
ThinInDetForwardTrackParticlesAlg::m_doThinning
BooleanProperty m_doThinning
Should the thinning run?
Definition
ThinInDetForwardTrackParticlesAlg.h:63
Generated on
for ATLAS Offline Software by
1.17.0