ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
TrackingAnalysisAlgorithms
TrackingAnalysisAlgorithms
TrackParticleMergerAlg.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
//
3
// Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4
//
5
#ifndef TRACKINGANALYSISALGORITHMS_TRACKPARTICLEMERGERALG_H
6
#define TRACKINGANALYSISALGORITHMS_TRACKPARTICLEMERGERALG_H
7
8
#include <
AnaAlgorithm/AnaReentrantAlgorithm.h
>
9
#include <
xAODTracking/TrackParticleContainer.h
>
10
#include <
xAODTracking/TrackParticleAuxContainer.h
>
11
12
#include <
AsgTools/PropertyWrapper.h
>
13
#include <
AthContainers/ConstDataVector.h
>
14
#include <
AsgDataHandles/WriteHandleKey.h
>
15
#include <
AsgDataHandles/ReadHandleKeyArray.h
>
16
#include <
AsgDataHandles/ReadDecorHandleKeyArray.h
>
17
#include <
AsgDataHandles/ReadHandleKey.h
>
18
#include <
AsgDataHandles/WriteHandle.h
>
19
#include <
AsgDataHandles/ReadHandle.h
>
20
21
#include <string>
22
23
namespace
CP
{
24
35
class
TrackParticleMergerAlg
final :
public
EL::AnaReentrantAlgorithm
{
36
37
public
:
39
TrackParticleMergerAlg
(
const
std::string&
name
, ISvcLocator* svcLoc );
40
43
45
virtual
StatusCode
initialize
()
override
final
;
46
48
virtual
StatusCode
execute
(
const
EventContext& ctx)
const
override
final
;
49
51
52
private
:
55
// Declare the algorithm's properties:
56
58
SG::ReadHandleKeyArray<xAOD::TrackParticleContainer>
m_inputTrackParticleLocations
{
59
this
,
"InputTrackParticleLocations"
, {
"InDetTrackParticles"
,
"InDetLargeD0TrackParticles"
},
60
"Input track collections to be merged"
61
};
62
64
SG::WriteHandleKey<xAOD::TrackParticleContainer>
m_outputTrackParticleLocationCopy
{
65
this
,
"OutputTrackParticleLocationCopy"
,
"InDetWithLRTTrackParticles"
,
"Output collection name"
66
};
67
SG::WriteHandleKey<ConstDataVector <xAOD::TrackParticleContainer>
>
m_outputTrackParticleLocationView
{
68
this
,
"OutputTrackParticleLocation"
,
"InDetWithLRTTrackParticles"
,
"Output view collection name"
69
};
70
72
Gaudi::Property<bool>
m_createViewCollection
{
this
,
"CreateViewCollection"
,
true
};
73
75
SG::ReadDecorHandleKeyArray<xAOD::TrackParticleContainer>
m_requiredDecorations
{
76
this
,
"RequiredDecorations"
, {},
"Decorations that the algorithm needs to wait for"
};
77
78
80
81
};
// class TrackParticleMergerAlg
82
83
}
// namespace CP
84
85
#endif
// TRACKINGANALYSISALGORITHMS_TRACKPARTICLEMERGERALG_H
AnaReentrantAlgorithm.h
ReadDecorHandleKeyArray.h
ReadHandleKeyArray.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ReadHandle.h
Handle class for reading from StoreGate.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
WriteHandle.h
Handle class for recording to StoreGate.
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
TrackParticleContainer.h
PropertyWrapper.h
TrackParticleAuxContainer.h
CP::TrackParticleMergerAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Function executing the algorithm.
Definition
TrackParticleMergerAlg.cxx:28
CP::TrackParticleMergerAlg::TrackParticleMergerAlg
TrackParticleMergerAlg(const std::string &name, ISvcLocator *svcLoc)
Algorithm constructor.
Definition
TrackParticleMergerAlg.cxx:10
CP::TrackParticleMergerAlg::m_requiredDecorations
SG::ReadDecorHandleKeyArray< xAOD::TrackParticleContainer > m_requiredDecorations
Extra guard for deep-copy mode.
Definition
TrackParticleMergerAlg.h:75
CP::TrackParticleMergerAlg::m_outputTrackParticleLocationView
SG::WriteHandleKey< ConstDataVector< xAOD::TrackParticleContainer > > m_outputTrackParticleLocationView
Definition
TrackParticleMergerAlg.h:67
CP::TrackParticleMergerAlg::m_outputTrackParticleLocationCopy
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_outputTrackParticleLocationCopy
Output collection name.
Definition
TrackParticleMergerAlg.h:64
CP::TrackParticleMergerAlg::initialize
virtual StatusCode initialize() override final
Function initialising the algorithm.
Definition
TrackParticleMergerAlg.cxx:15
CP::TrackParticleMergerAlg::m_inputTrackParticleLocations
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_inputTrackParticleLocations
Input track collections to be merged.
Definition
TrackParticleMergerAlg.h:58
CP::TrackParticleMergerAlg::m_createViewCollection
Gaudi::Property< bool > m_createViewCollection
Option to create a view collection and not deep-copy tracks.
Definition
TrackParticleMergerAlg.h:72
EL::AnaReentrantAlgorithm
the base class for EventLoop reentrant algorithms
Definition
AnaReentrantAlgorithm.h:51
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
SG::ReadDecorHandleKeyArray
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray
Definition
StoreGate/StoreGate/ReadDecorHandleKeyArray.h:35
SG::ReadHandleKeyArray
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Definition
StoreGate/StoreGate/ReadHandleKeyArray.h:32
xAOD::name
name
Definition
TriggerMenuJson_v1.cxx:29
Generated on
for ATLAS Offline Software by
1.17.0